我在我的网站上使用Paypal Express Checkout API,并在沙盒网站上遇到错误。 USER,PWD和SIGNATURE字段已经过验证且正确无误。为了便于阅读,我用换行符替换了&符号。
首先,我的SetExpressCheckout请求:
USER=xxx
PWD=xxx
SIGNATURE=xxx
VERSION=76.0
METHOD=SetExpressCheckout
RETURNURL=xxx
CANCELURL=xxx
REQCONFIRMSHIPPING=0
NOSHIPPING=1
LOCALECODE=FR
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
PAYMENTREQUEST_0_AMT=86.11
PAYMENTREQUEST_0_CURRENCYCODE=EUR
PAYMENTREQUEST_0_ITEMAMT=72.00
PAYMENTREQUEST_0_TAXAMT=14.11
PAYMENTREQUEST_0_INVNUM=1tyZq03X5c8
PAYMENTREQUEST_0_PAYMENTACTION=Sale
PAYMENTREQUEST_0_PAYMENTREQUESTID=1tyZx03f5c8
Paypal的回复如下:
TOKEN=EC%2d9FE8384171515313J
TIMESTAMP=2011%2d08%2d24T08%3a44%3a36Z
CORRELATIONID=696e70dbd6086
ACK=Success
VERSION=76%2e0
BUILD=2055089
用户填写Paypal网站上的付款并返回上面指定的确认网址后,我运行GetExpressCheckoutDetails:
USER=xxx
PWD=xxx
SIGNATURE=xxx
VERSION=76.0
METHOD=GetExpressCheckoutDetails
TOKEN=EC-9FE8384171515313J
回复是:
TIMESTAMP=2011%2d08%2d24T08%3a45%3a56Z
CORRELATIONID=6a2bbe8363462
ACK=Failure
VERSION=76%2e0
BUILD=2055089
L_ERRORCODE0=10410
L_SHORTMESSAGE0=Invalid%20token
L_LONGMESSAGE0=Invalid%20token%2e
L_SEVERITYCODE0=Error
提供令牌的代码在一个月内没有更改(并且它在几分钟前正常工作)。从日志来看,我的请求结构没有变化,所以我假设这必须是PayPal方面的配置问题。
可能很重要的详细信息:我在系统开始出现故障之前重置沙箱中的卖家帐户,但我确保API凭据是正确的(当我重置卖家帐户时它们没有更改)
为什么我突然得到这个错误的任何想法?
答案 0 :(得分:5)
帐户重置操作似乎也会禁用API凭据,但API凭据保持活动状态的时间延迟了一个小时左右,但使用它们时发生了奇怪的事情。
一小时后,API凭据被有效禁用,所以我只使用了新的,一切正常。
简而言之:在沙箱中执行帐户重置时,请计划一小时的停机时间。
答案 1 :(得分:0)
您必须在“网站付款偏好设置”
中的个人资料中定义一些选项