PayPal 快速结账肥皂 - 订单总丢失



我知道有20多个关于这个问题的问题,但是没有一个有帮助,API文档和其他一些PayPal合作伙伴网站也没有帮助。

生成的 XML/SOAP 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<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>
      <ns2:SetExpressCheckoutRequest>
        <ns1:Version>121.0</ns1:Version>
        <ns2:SetExpressCheckoutRequestDetails>
          <ns1:ReturnUrl>http://localhost/foo</ns1:ReturnUrl>
          <ns1:CancelUrl>http://localhost/bar</ns1:CancelUrl>
          <ns1:PaymentDetails>
            <ns1:OrderTotal currencyID="EUR">100000</ns1:OrderTotal>
          </ns1:PaymentDetails>
        </ns2:SetExpressCheckoutRequestDetails>
      </ns2:SetExpressCheckoutRequest>
    </ns2:SetExpressCheckoutReq>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
但是,我

得到"订单总数丢失",我无法理解为什么它不起作用。对我有什么提示吗?提前感谢!

我认为您的XML无效:

< ns1 :OrderTotal currencyID="EUR">100000</ ns2 :OrderTotal>

在两个标记中都必须是 ns1。

我遇到了同样的问题。 问题是SetExpressCheckoutRequestDetails在 ns1 ( eBLBaseComponents 中,而不是 ns2 ( PayPalAPI 中。 花了大约六个小时猛烈抨击我的头,才终于弄清楚了。

在Andrew Wilcox的回答的帮助下解决了它。

XML 中存在问题的部分是 <ns2:SetExpressCheckoutRequest> ,它应该使用 ns1 而不是 ns2 命名。

相关内容

  • 没有找到相关文章

最新更新