我如何在PHP中收到此代码?我该如何消费呢?

时间:2017-01-31 09:48:30

标签: soap

我正在开发一个网站项目来使用网络服务,我如何在php中收到这个,我该如何使用它?谢谢你的帮助。我需要连接到他们的API,发送我的网站中的genrerated的XML文件,然后收到响应。 http://www.safaricom.co.ke/business/corporate/m-pesa-payments-services/m-pesa-api为api

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:c2b="http://cps.huawei.com/cpsinterface/c2bpayment">
   <soapenv:Header/>
   <soapenv:Body>
      <c2b:C2BPaymentConfirmationRequest>
         <TransactionType>PayBill</TransactionType>
         <TransID>1234560000007031</TransID>
         <TransTime>20140227082020</TransTime>
         <TransAmount>123.00</TransAmount>
         <BusinessShortCode>12345</BusinessShortCode>
         <BillRefNumber>TX1001</BillRefNumber>
         <InvoiceNumber></InvoiceNumber>
         <OrgAccountBalance>12345.00</OrgAccountBalance>
<ThirdPartyTransID></ThirdPartyTransID>
<MSISDN>254722703614</MSISDN>
         <KYCInfo>
            <KYCName>[Personal Details][First Name]</KYCName>
            <KYCValue>Hoiyor</KYCValue>
        </KYCInfo>
        <KYCInfo>
            <KYCName>[Personal Details][Middle Name]</KYCName>
            <KYCValue>G</KYCValue>
        </KYCInfo>
        <KYCInfo>
            <KYCName>[Personal Details][Last Name]</KYCName>
            <KYCValue>Chen</KYCValue>
        </KYCInfo>
      </c2b:C2BPaymentConfirmationRequest>
   </soapenv:Body>
</soapenv:Envelope>

2 个答案:

答案 0 :(得分:0)

我最好的建议是使用WSDL到php生成器,例如PackageGenerator,因为你只会处理发送请求的对象,然后只在回复响应时处理对象。使用生成的SDK确实可以轻松使用任何SOAP Web服务。它使用本机SoapClient类(如果您希望深入了解该过程,这是本案例中的第一个真正的起点)。

答案 1 :(得分:0)

Safaricom已发布M-Pesa API作为RESTful API,可通过developer portal 访问。您无需使用M-Pesa SOAP API。