【问题标题】:PayPal Implicit Payment error 580001PayPal 隐式付款错误 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}"
      }]
}

【问题讨论】:

    标签: paypal


    【解决方案1】:

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

    【讨论】:

    • 遗憾的是,根据我的经验,Paypal 文档在很多方面都缺乏...... :-(
    • @Max 我刚刚开始使用 Paypal,缺乏良好的文档使得学习曲线比需要的要陡峭得多!
    • 这里stackoverflow.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

        【讨论】:

          猜你喜欢
          • 2013-08-25
          • 2014-02-02
          • 2015-07-15
          • 2012-06-22
          • 2014-07-15
          • 2015-06-21
          • 2021-10-11
          相关资源
          最近更新 更多