2017-06-02 110 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中的一個錯誤。