像往常一样,支持和PayPal的各个网站在这里都没有用。我得到的错误是一个简单的“版本错误”,其相应的错误号“10006”也会产生完全相同的错误,没有任何关于我错误的地方的更多信息。
我使用的是在https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl找到的WSDL提供的版本。
我目前正在制作的SOAP消息是:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:ebay:apis:eBLBaseComponents"
xmlns:ns2="urn:ebay:api:PayPalAPI">
<SOAP-ENV:Header>
<ns2:RequesterCredentials>
<ns1:Credentials>
<ns1:Username>[FILTERED]</ns1:Username>
<ns1:Password>[FILTERED]</ns1:Password>
<ns1:Signature>[FILTERED]</ns1:Signature>
</ns1:Credentials>
</ns2:RequesterCredentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns2:SetExpressCheckoutReq>
<ns1:SetExpressCheckoutRequest>
<ns1:Version>121.0</ns1:Version>
<ns1:SetExpressCheckoutRequestDetails>
<!-- Transaction details here -->
</ns1:SetExpressCheckoutRequestDetails>
</ns1:SetExpressCheckoutRequest>
</ns2:SetExpressCheckoutReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我尝试将Version
标记放到各个位置并更改名称空间,但是为了确定,但是如果没有“方法不受支持”,一切都会给我相同的错误。
根据https://developer.paypal.com/docs/classic/api/PayPalSOAPAPIArchitecture/的文档,据我所知,XML应该是正确的......
这里的任何人都有一个有用的想法或解决方案吗?
答案 0 :(得分:0)
我在过去遇到过与XML类似的问题,它几乎总是归结为命名空间。我知道你说你已经尝试过了,但我会再次调查一下。
您可以在此站点上使用该演示,它将为您提供功能性SOAP请求示例,以便比较并查看您可能出错的内容。
另一种选择,因为我看到你正在使用PHP,就是抓住这个PayPal PHP SDK。它包括所有API调用的功能样本以及空模板。您需要为任何API做的就是打开示例/模板,使用您自己的数据值填充数组参数,然后处理其余的数据。您可以在几分钟内完成Express Checkout,而且您不必为了正确地格式化XML而不得不拔头。