2017-06-02 123 views
0

我想在沙盒中进行AdaptivePayments付款。从PayPal获取500沙箱AdaptivePayments /支付

我不断收到响应这样的(JSON解码Python的字典):

{u'error': [{u'category': u'Application', 
    u'domain': u'PLATFORM', 
    u'errorId': u'520002', 
    u'message': u'Internal Error', 
    u'severity': u'Error', 
    u'subdomain': u'Application'}], 
u'responseEnvelope': {u'ack': u'Failure', 
    u'build': u'32250686', 
    u'correlationId': u'864242c1ece9f', 
    u'timestamp': u'2017-06-02T04:29:08.091-07:00'}} 

我已经检查并重新检查了我的请求体参数和请求头,对文档,也反对其他成功的请求这种类型,我们已经从我们的服务器。

沙箱可以是片状的,但其他请求成功,并且错误已持续24小时,所以我认为这是我的请求的问题。

我使用X-PAYPAL-REQUEST-DATA-FORMAT: NV和请求主体的样子:

actionType=PAY&currencyCode=GBP&cancelUrl=<mysite/cancel>&returnUrl=<mysite/return>&requestEnvelope.errorLanguage=en_US&preapprovalKey=<preapp key>&receiverList.receiver(0).email=<an email address>&receiverList.receiver(0).amount=0.62 

(与真实的URL和预准关键取代的)

回答

0

好了,我终于发现了这个问题。

看来有一个问题,我正在发送特定的preapproval密钥。从成功的请求中更改为预批准密钥足以使其工作。

我不得不说,PayPal API在这种情况下返回一个500状态(指示未处理的异常),而不是正确的错误,这是非常令人失望的。

进一步的实验表明,如果我使用了不同的货币(美元代替英镑)与坏事先批准,我能得到一个信息的错误:

{u'error': [{u'category': u'Application', 
    u'domain': u'PLATFORM', 
    u'errorId': u'539012', 
    u'message': u"The preapproval key hasn't been authorized yet", 
    u'severity': u'Error', 
    u'subdomain': u'Application'}], 
u'responseEnvelope': {u'ack': u'Failure', 
    u'build': u'32250686', 
    u'correlationId': u'4b6ec5f7a64b7', 
    u'timestamp': u'2017-06-02T05:16:08.800-07:00'}} 

但我看不出有任何理由为什么不同的货币应该防止显示此错误,这似乎是PayPal中的一个错误。