<?xml version="1.0" encoding="ISO-8859-1"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:TelecomPaymentService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:TelecomPaymentService">
<types>
<xsd:schema targetNamespace="urn:TelecomPaymentService">
 <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
 <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
</xsd:schema>
</types>
<message name="authenticateRequest">
  <part name="ap_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="authenticateResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="verifyReferenceRequest">
  <part name="session_key" type="xsd:string" />
  <part name="reference" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:string" />
</message>
<message name="verifyReferenceResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="transactRequest">
  <part name="session_key" type="xsd:string" />
  <part name="reference" type="xsd:string" />
  <part name="transaction" type="xsd:anyType" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:string" />
</message>
<message name="transactResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="closeTransactionRequest">
  <part name="session_key" type="xsd:string" />
  <part name="reference" type="xsd:string" />
  <part name="transaction_id" type="xsd:anyType" />  
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:string" />
</message>
<message name="closeTransactionResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="eodReportRequest">
  <part name="session_key" type="xsd:string" />
  <part name="content" type="xsd:string" />
  <part name="backref" type="xsd:string" />
</message>
<message name="eodReportResponse">
  <part name="return" type="xsd:string" />
</message>
<portType name="TelecomPaymentServicePortType">
  <operation name="authenticate">
    <documentation>Validate a user by supplied password, returns session key</documentation>
    <input message="tns:authenticateRequest"/>
    <output message="tns:authenticateResponse"/>
  </operation>
  <operation name="verifyReference">
    <documentation>The operation is meant to be used for verifying a payment reference which a customer wish to pay</documentation>
    <input message="tns:verifyReferenceRequest"/>
    <output message="tns:verifyReferenceResponse"/>
  </operation>
  <operation name="transact">
    <documentation>The operation is meant to be used for sending transaction that has been done on the telecom side following the verifyReference operation</documentation>
    <input message="tns:transactRequest"/>
    <output message="tns:transactResponse"/>
  </operation>
  <operation name="closeTransaction">
    <documentation>The operation is meant to be used for finalizing a transaction with the details of transaction from telecom or payment provider.</documentation>
    <input message="tns:closeTransactionRequest"/>
    <output message="tns:closeTransactionResponse"/>
  </operation>
  <operation name="eodReport">
    <documentation>The operation is meant to be used for sending all transaction that has been processed throughout the day back to the Payment service for reconciliation.</documentation>
    <input message="tns:eodReportRequest"/>
    <output message="tns:eodReportResponse"/>
  </operation>
</portType>
<binding name="TelecomPaymentServiceBinding" type="tns:TelecomPaymentServicePortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="authenticate">
    <soap:operation soapAction="urn:TelecomPaymentService#authenticate" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="verifyReference">
    <soap:operation soapAction="urn:TelecomPaymentService#verifyReference" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="transact">
    <soap:operation soapAction="urn:TelecomPaymentService#transact" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="closeTransaction">
    <soap:operation soapAction="urn:TelecomPaymentService#closeTransaction" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:TelecomPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="eodReport">
    <soap:operation soapAction="urn:BankPaymentService#eodReport" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:BankPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:BankPaymentService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
</binding>
<service name="TelecomPaymentService">
  <port name="TelecomPaymentServicePort" binding="tns:TelecomPaymentServiceBinding">
    <soap:address location="https://ecitietest.kcca.go.ug/api/telecom-paymentv1.php"/>
  </port>
</service>
</definitions>