为啥发布到 PayPal 沙盒 API 对我不起作用?

Posted

技术标签:

【中文标题】为啥发布到 PayPal 沙盒 API 对我不起作用?【英文标题】:Why posting to PayPal sandbox API not working for me?为什么发布到 PayPal 沙盒 API 对我不起作用? 【发布时间】:2019-03-12 08:35:26 【问题描述】:

我发布(带有合适的Authorization: 标头)到https://api.sandbox.paypal.com/v1/payments/payment

"intent": "sale", "payer": "payment_method": "paypal", "transactions": ["amount": 10.0, "currency": "USD", "details": "subtotal": 10.0, "shipping": 0.0, "tax": 0.0, "description": "Item 1"], "redirect_urls": "return_url": "https://example.com", "cancel_url": "https://example.com"

并得到回报

"name":"MALFORMED_REQUEST","message":"Incoming JSON request does not map to API request","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST","debug_id":"815ed32bcd78e"

为什么会出错?我的错误是什么?

【问题讨论】:

【参考方案1】:

请查看贝宝documentation

请参阅右侧的示例。 amount 应该是一个对象 - currencydetails 需要是 amount 的属性,而且您缺少必需的 total 属性

重做的 JSON


   "intent":"sale",
   "payer":
      "payment_method":"paypal"
   ,
   "transactions":[
      
         "amount":
            "total":"10.00",
            "currency":"USD",
            "details":
               "subtotal":"10.00",
               "shipping":"0.00",
               "tax":"0.00"
            
         ,
         "description":"Item 1"
      
   ],
   "redirect_urls":
      "return_url":"https://example.com",
      "cancel_url":"https://example.com"
   

在指定“价格数字”(总计、小计、...)时请小心,它们必须是字符串并遵循十进制数字的规则

【讨论】:

【参考方案2】:

问题已编辑,此答案不再相关。

【讨论】:

JSON 带有双引号。我错误地提出了我的问题。我编辑了这个问题。请删除您的答案,因为它回答了错误的先前版本的问题

以上是关于为啥发布到 PayPal 沙盒 API 对我不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Paypal 沙盒不处理付款?

为啥“Google Maps”一书中的 Google Maps Directions API 示例对我不起作用?

为啥灯箱 jQuery 插件对我不起作用?

为啥 setLandingPageType("billing") 在沙盒中工作,但在 PAYPAL PHP REST API SDK WebProfile 中的实时版本中不工作

PayPal - 使用 REST API 从沙盒切换到真实账户

为啥命名:false 对我不起作用