X-PAYPAL-APPLICATION-ID错误

时间:2013-09-03 15:38:48

标签: python paypal urllib2 paypal-sandbox

我正在编写一个使用Paypal权限API的应用程序。我目前正在研究沙盒。我正确地获得了验证码,但是当我尝试GetAccessToken时,我收到错误:

{"responseEnvelope":{"timestamp":"2013-09-03T08:32:16.580-07:00","ack":"Failure","correlationId":"3527b7033f20f","build":"2210301"},"error":[{"errorId":"560022","domain":"PLATFORM","subdomain":"Application","severity":"Error","category":"Application","message":"The X-PAYPAL-APPLICATION-ID header contains an invalid value","parameter":["X-PAYPAL-APPLICATION-ID"]}]}

我正在使用沙箱APP_ID,所有验证码也是动态获取的。这是我的代码片段。

token = "AAAAAAAYaraTSVjvkUBT"
verification = "mgnnWDVfFmgAES0q371Hug"
headers2 = {
"X-PAYPAL-SECURITY-USERID": settings.USERNAME,
"X-PAYPAL-SECURITY-PASSWORD": settings.PASSWORD,
"X-PAYPAL-SECURITY-SIGNATURE": settings.SIGNATURE,
"X-PAYPAL-REQUEST-DATA-FORMAT": "JSON",
"X-PAYPAL-RESPONSE-DATA-FORMAT": "JSON",
"X-PAYPAL-APPLICATION-ID": "APP-80W284485P519543T",
}
url = "https://svcs.paypal.com/Permissions/GetAccessToken/?token=%s&verifier=%s" %(token, verification)
dat2 = {"requestEnvelope": {"errorLanguage":"en_US"}}
req2 = urllib2.Request(url, simplejson.dumps(dat2), headers2)
res2 = urllib2.urlopen(req2).read()  

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您无法在实时环境中使用沙盒应用程序ID。请参阅https://developer.paypal.com/webapps/developer/docs/classic/lifecycle/goingLive/#register以了解如何获取实时应用程序ID。

答案 1 :(得分:0)

正如Siddick所说,端点应该是https://svcs.sandbox.paypal.com。 paypal API文档非常不一致,我之前使用过的端点已用于文档中的沙箱情况。