【问题标题】:Getting 500 from PayPal Sandbox AdaptivePayments/Pay从 PayPal Sandbox AdaptivePayments/Pay 获得 500
【发布时间】:2017-11-03 20:41:05
【问题描述】:

我正在尝试在 Sandbox 中进行 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

(替换为真实网址和预先批准密钥)

【问题讨论】:

    标签: python paypal paypal-sandbox paypal-adaptive-payments


    【解决方案1】:

    嗯,我终于找到了问题。

    我发送的特定预批准密钥似乎存在问题。从成功的请求更改为预批准密钥就足以使其工作。

    我不得不说,在这种情况下,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 中的一个错误。

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 2012-08-06
      • 2016-12-01
      • 2015-10-31
      • 1970-01-01
      • 2015-02-11
      • 2017-09-21
      • 2013-04-24
      • 2019-03-13
      相关资源
      最近更新 更多