2

我无法使PayPal Adaptive Payments API与GAE一起工作 - 我将特意使用Implicit Payments。Paypal Sandbox和Google App Engine的身份验证错误

返回的错误是我的api证书不正确,但是从我读过的内容中我应该对标题格式也有所怀疑。

这里的代码段的 - 我用在GAE的网址抓取模块:

headers = { 
     "X-PAYPAL-USERID"    : "xxxx_123456789_biz_api1.xxxx.com", 
     "X-PAYPAL-SECURITY-PASSWORD" : "1234567890", 
     "X-PAYPAL-SECURITY-SIGNATURE" : "Ahg-XXXXXXXXXXXXXXXXXXXXXX", 
     "X-PAYPAL-REQUEST-DATA-FORMAT" : "JSON", 
     "X-PAYPAL-RESPONSE-DATA-FORMAT" : "JSON", 
     "X-PAYPAL-APPLICATION-ID"  : "APP-80W284485P519543T" 
    } 

request_body = { 
     "actionType"      : "PAY", 
     "senderEmail"      : "[email protected]", 
     "receiverList.receiver(0).email" : "[email protected]", 
     "receiverList.receiver(0).amount" : 100.00, 
     "currencyCode"      : "USD", 
     "cancelUrl"       : "some_url.com", 
     "returnUrl"       : "some_url.com", 
     "requestEnvelope.errorLanguage"  : "en_US" 

    } 

url = "https://svcs.sandbox.paypal.com/AdaptivePayments/Pay" 

result = urlfetch.fetch(url=url,payload=request_body,headers=headers) 

我固定的一些价值观,但我使用一切从沙盒“API凭证”现身部分。

标题格式有问题吗?我是否使用了错误的凭据集?我甚至可以使用沙盒来测试隐式支付?

任何帮助,非常感谢。 谢谢!

对于任何的那些有类似的问题,按照优秀教程位于: Awesome Paypal Adaptive Payments Tutorial 的头确实倾向于如果不能正确形成导致身份验证错误。我离得很远:)

回答

0

你忘了在urlfetch.fetch调用中设置POST方法;没有它,the payload data is ignored

result = urlfetch.fetch(url=url, 
         payload=request_body, 
         method=urlfetch.POST, 
         headers=headers) 

在Tutorial代替switches automatically用于从GET当请求数据被设置张贴urllib2.Request

req = urllib2.Request(self.request_url,paypal_request_data,header_data) 
1

去你的头,并作出这样

变化的关键

'X-PAYPAL-USERID'

应该成为

'X-PAYPAL-SECURITY-USERID'。

相关问题