【发布时间】:2020-07-11 23:11:11
【问题描述】:
我已将 PayPal REST API v1 用于一段时间前部署的客户端,并且一直运行良好。
今天我注意到 API 集成自 2019 年 9 月 16 日以来一直没有工作。
代码自部署以来没有更改,但没有提交通过,尽管 API 仍在成功接收来自 PayPal 的访问令牌。
以下是我通过 CURL PHP (https://api.paypal.com/v1/payments/payment) 发送到 PayPal 的 POST 数据
{
"intent": "sale",
"payer": {
"payment_method": "paypal"
},
"application_context": {
"brand_name": "[[REDACTED]]",
"locale": "GB",
"landing_page": "login",
"shipping_preference": "NO_SHIPPING",
"user_action": "user_action=commit"
},
"transactions": [{
"amount": {
"total": "0.01",
"currency": "GBP"
},
"payee": {
"email": "[[REDACTED]]"
},
"description": "Test donation.",
"item_list": {
"items": [{
"name": "Test donation.",
"description": "",
"quantity": "1",
"price": "0.01",
"currency": "GBP"
}]
},
"note_to_payee": "",
"payment_options": {
"allowed_payment_method": "INSTANT_FUNDING_SOURCE"
}
}],
"redirect_urls": {
"return_url": "[[REDACTED]]",
"cancel_url": "[[REDACTED]]"
}
}
PayPal的回复如下:
{
"name": "VALIDATION_ERROR",
"message": "Invalid request - see details",
"debug_id": "[[REDACTED]]",
"information_link": "https:\/\/developer.paypal.com\/docs\/api\/payments\/#errors",
"details": [{
"field": "application_context.user_action",
"location": "body",
"issue": "{InvalidUserAction}"
}]
}
查看documentation,我用于application_context.user_action 的值是正确的。我知道 API 已被弃用,但没有提及 API 不起作用。
【问题讨论】:
-
我不相信以上是相关的,因为他们没有使用 REST API