我正在LIVE中尝试SetExpressCheckout事务,但它总是因为&#34而失败;我们目前无法完成您的请求。" 在沙箱中,每次都能完美运行,所以我相信我的API调用是正确的。
以下是完整的请求:
VERSION=97.0
&METHOD=SetExpressCheckout
&RETURNURL=http://www.foo.com/
&CANCELURL=http://www.foo.com/
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_AMT=1.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_ITEMAMT=1.00
&L_PAYMENTREQUEST_0_NAME0=Test+Payment
&L_PAYMENTREQUEST_0_NUMBER0=TestPayment
&L_PAYMENTREQUEST_0_AMT0=1.00
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital
&SOLUTIONTYPE=Sole
&REQCONFIRMSHIPPING=0
&NOSHIPPING=1
&USER=*************************
&PWD=*************************
&SIGNATURE=********************
我有Paypal商户支持打开的机票,但他们不知道为什么它会失败,这令我感到惊讶。我两次打电话给paypal客户服务,他们肯定没有任何线索。
我做错了什么?谢谢。
答案 0 :(得分:0)
我明白了。这是我的错。虽然我被指向了SetExpressCheckout调用的实时环境,但后续的重定向仍然会进入沙箱。
我的错......但是......为什么paypal开发人员不能在那里放一小段代码,这样当你走错了环境时(系统知道我刚刚打电话给Live ,然后重定向到沙箱,或者至少Live环境没有我所调用的匹配令牌)抛出简洁的消息,例如“在沙箱环境中找不到令牌”或“对Live进行API调用,但重定向到Sandbox“。像这样的消息可以让我在几秒钟而不是几小时内修复自己的问题。