【发布时间】:2019-04-01 20:20:27
【问题描述】:
在实现服务器 Paypal 集成时,POST Create 调用对https://api.sandbox.paypal.com/v1/payments/payment 正常工作,响应对象与 API 中找到的匹配。服务端成功返回结果给客户端,paypal.request.post的.then(res)函数的res.id为:PAY-76T970067E989851JLPLCMKA
用户授权付款后,客户端向我的服务器的执行端点发送一个请求,负载为:
{
"paymentID" : "PAY-76T970067E989851JLPLCMKA",
"payerID" : "3LSD3Q8J7T3ZL"
}
然后,服务器将查询的负载重新建模到 paypal 的 POST Execute 端点,如下所示:
标题:
Content-Type = "application/json"
Authorization = "Bearer " + accessToken // checked not expired
和一个body payload:
{"payer_id" : "3LSD3Q8J7T3ZL"}
然后发布到:
https://api.sandbox.paypal.com/v1/payments/payment/PAY-76T970067E989851JLPLCMKA/execute
此时,paypal 服务器响应:远程服务器返回错误:(400) Bad Request。
按照我所见,这符合此处列出的 API 要求:https://developer.paypal.com/docs/api/payments/v1/#payment_execute
附带说明,我在自己的服务器上设置了一个端点,以检查提交给 Paypal 执行端点的标头和 JSON 有效负载是否正确。
任何建议将不胜感激。
【问题讨论】:
标签: c# paypal paypal-sandbox