我在现场尝试一个SetExpressCheckout事务,但是它总是失败,“我们现在无法完成您的请求”,沙箱中的每次都运行得很好,所以我相信我的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=********************我有一个与贝宝商人支持开放的门票,但他们不知道为什么会失败,这令我惊讶。我给贝宝客户服务打了两次电话,他们绝对不知道。
我做错了什么?谢谢。
发布于 2014-04-15 14:00:39
我想通了。这是我的错。虽然我被指向了SetExpressCheckout调用的活动环境,但随后的重定向仍然会转到沙箱中。
我的fault...BUT...why不能让paypal开发人员在里面放一小行代码,这样当您进入错误的环境时(系统知道我刚刚调用了Live,然后重定向到sandbox,或者至少是Live环境没有匹配的令牌,我称之为)抛出了一条简洁的消息,比如“沙箱环境中找不到令牌”或"API调用到Live,但重定向到了Sandbox“。这样的信息可以让我在几秒钟内而不是几个小时内解决自己的问题。
https://stackoverflow.com/questions/22945148
复制相似问题