PayPal 隐式付款错误 580001

Posted

技术标签:

【中文标题】PayPal 隐式付款错误 580001【英文标题】:PayPal Implicit Payment error 580001 【发布时间】:2013-03-29 02:35:56 【问题描述】:

我在实施 paypal 隐式付款时遇到了一些困难,不幸的是,paypal 的错误消息响应中的详细信息非常有限。

这是请求:


    "actionType": "PAY", 
    "currencyCode": "USD", 
    "cancelUrl": "http://my_domain.com/cancel_url", 
    "returnUrl": "http://my_domain.com/return_url", 
    "requestEnvelope.errorLanguage": "en_US", 
    "requestEnvelope.detailLevel": "ReturnAll", 
    "senderEmail": "sender@email.com", 
    "receiverList.receiver(0).amount": 50, 
    "receiverList.receiver(0).email": "receiver@email.com"

这是我设置的标题:

    "Content-Type", "application/json"
    "Accept-Language", "en_US"

    "X-PAYPAL-SECURITY-USERID", "username"
    "X-PAYPAL-SECURITY-PASSWORD", "pwd"                           
    "X-PAYPAL-SECURITY-SIGNATURE", "sig"                           
    "X-PAYPAL-APPLICATION-ID", "My App id"
    "X-PAYPAL-REQUEST-DATA-FORMAT", "JSON"
    "X-PAYPAL-RESPONSE-DATA-FORMAT", "JSON"

回复如下:


    "responseEnvelope":
      "timestamp":"2013-04-06T12:02:41.011-07:00",
      "ack":"Failure",
      "correlationId":"3842d361b077d",
      "build":"5563463","error":[
         "errorId":"580001",
        "domain":"PLATFORM",
        "subdomain":"Application",
        "severity":"Error",
        "category":"Application",
        "message":"Invalid request: 0"
      ]

【问题讨论】:

【参考方案1】:

我刚刚遇到了完全相同的问题,但在任何地方都找不到答案。原来我使用的是 GET 请求而不是 POST。奇怪的是,在他们的文档中找不到 errorId 580001。

【讨论】:

遗憾的是,根据我的经验,Paypal 文档在很多方面都缺乏...... :-( @Max 我刚刚开始使用 Paypal,缺乏良好的文档使得学习曲线比需要的要陡峭得多! 这里***.com/q/9939960/1057961你可以找到我使用贝宝的经验(它主要与为第三方客户即时创建加密的PayNow按钮有关)【参考方案2】:

自适应支付 API 不接受请求负载中的空格,请删除所有空格和换行符,然后再试一次。我花了很长时间才弄明白。

【讨论】:

【参考方案3】:

要注意的另一件事是编码。我遇到了这个错误,并意识到这是由于“备忘录”字段中的 & 符号造成的。如果您将请求作为 NVP 发送,请务必尽可能进行 URL 编码。

【讨论】:

【参考方案4】:
let payload=
  "actionType":"PAY",                             
  "currencyCode":"USD",                          
  "receiverList":
    "receiver":[
      "amount":1.00,                             
      "email":"buyer email"    
    ]
  ,
  "returnUrl":"succes url", 
  "cancelUrl":"cancel url",  
  "requestEnvelope":
  "errorLanguage":"en_US",                        
  "detailLevel":"ReturnAll"                        
  

let url = "https://svcs.sandbox.paypal.com/AdaptivePayments/Pay";
    return this.http.post(url, payload,  headers: headers )
    headers.append('X-PAYPAL-SECURITY-USERID', 'security id');
    headers.append('X-PAYPAL-SECURITY-PASSWORD', 'password');
    headers.append('X-PAYPAL-SECURITY-SIGNATURE', 'signature');
    headers.append('X-PAYPAL-REQUEST-DATA-FORMAT', 'JSON');
    headers.append('X-PAYPAL-RESPONSE-DATA-FORMAT', 'JSON');
    headers.append('X-PAYPAL-APPLICATION-ID', 'APP-id');

【讨论】:

只有在您提供有关解决方案的一些详细信息或解释时才会有所帮助。仅编码答案是没有用的。【参考方案5】:

作为此问题的另一个原因,请确保每个接收器的 amount 属性不包含逗号,因为这也会中断。 IE。 1000.00 而不是 1,000.00

【讨论】:

以上是关于PayPal 隐式付款错误 580001的主要内容,如果未能解决你的问题,请参考以下文章

自适应付款支付 API 错误 580001

自适应付款支付 API 错误 580001

通过 node.js 中的 Paypal Adaptive Payments API 发送隐式付款时出错

贝宝自适应付款客人隐式付款

隐式自适应支付不生成 IPN

支付自适应支付,隐式支付费用