PayPal 快速结帐 SOAP - 订单总数丢失
PayPal Express Checkout SOAP - Order Total Missing
我知道有 20 多个关于此的问题,但是 none 很有帮助,API 文档和其他一些贝宝合作伙伴网站也没有帮助..
生成的 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>
但是,我得到 "Order Total is missing",但我无法理解为什么它不起作用。对我有什么提示吗?提前致谢!
我认为你的 XML 无效:
<
ns1
:OrderTotal currencyID="EUR">100000</
ns2
:OrderTotal>
两个标签都必须是ns1。
我遇到了同样的问题。问题是 SetExpressCheckoutRequestDetails
在 ns1 (eBLBaseComponents
) 中,而不是 ns2 (PayPalAPI
)。花了大约 6 个小时敲打我的脑袋才终于弄明白。
在 Andrew Wilcox 的回答的帮助下解决了它。
XML 中有问题的部分是 <ns2:SetExpressCheckoutRequest>
,应该用 ns1
命名空间而不是 ns2
。
我知道有 20 多个关于此的问题,但是 none 很有帮助,API 文档和其他一些贝宝合作伙伴网站也没有帮助..
生成的 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>
但是,我得到 "Order Total is missing",但我无法理解为什么它不起作用。对我有什么提示吗?提前致谢!
我认为你的 XML 无效:
<
ns1
:OrderTotal currencyID="EUR">100000</
ns2
:OrderTotal>
两个标签都必须是ns1。
我遇到了同样的问题。问题是 SetExpressCheckoutRequestDetails
在 ns1 (eBLBaseComponents
) 中,而不是 ns2 (PayPalAPI
)。花了大约 6 个小时敲打我的脑袋才终于弄明白。
在 Andrew Wilcox 的回答的帮助下解决了它。
XML 中有问题的部分是 <ns2:SetExpressCheckoutRequest>
,应该用 ns1
命名空间而不是 ns2
。