Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Paypal沙盒和Google应用程序引擎的身份验证错误_Python_Google App Engine_Paypal_Paypal Adaptive Payments - Fatal编程技术网

Python Paypal沙盒和Google应用程序引擎的身份验证错误

Python Paypal沙盒和Google应用程序引擎的身份验证错误,python,google-app-engine,paypal,paypal-adaptive-payments,Python,Google App Engine,Paypal,Paypal Adaptive Payments,我很难让Paypal Adaptive Payments API与GAE协同工作-我将特别使用隐式支付 返回的错误是我的api凭据不正确,但从我所读到的内容来看,我也应该怀疑标头格式 下面是代码片段-我正在GAE中使用urlfetch模块: headers = { "X-PAYPAL-USERID" : "xxxx_123456789_biz_api1.xxxx.com", "X-PAYPAL-SECURITY-PASSWORD"

我很难让Paypal Adaptive Payments API与GAE协同工作-我将特别使用隐式支付

返回的错误是我的api凭据不正确,但从我所读到的内容来看,我也应该怀疑标头格式

下面是代码片段-我正在GAE中使用urlfetch模块:

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"                       : "xxxx_123456789_biz_api1@xxxx.com",
        "receiverList.receiver(0).email"    : "xxxx_123456789_per@xxxx.com",
        "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凭据”部分

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

非常感谢您的帮助。 谢谢

对于任何有类似问题的人,请遵循此处的优秀教程:
如果格式不正确,标头确实会导致身份验证错误。我离得很远:)

你忘了在
urlfetch.fetch调用中设置POST方法;没有它

设置请求数据时,教程中使用的
urllib2.Request
,而不是GET to POST

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

转到您的标题,并进行如下更改

钥匙

“X-PAYPAL-USERID”

应该成为

“X-PAYPAL-SECURITY-USERID”

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