【发布时间】:2021-01-01 19:16:16
【问题描述】:
我在 PayPal 的 Sandbox / API V2 中遇到了一个奇怪的问题。
使用AUTHORIZE 意图创建订单后(预授权)。我将用户带到 APPROVE URL,并在选择付款方式 PayPal 说后将我重定向回我的 redirect_url,但它只是重新加载付款选择屏幕。
我不知道出了什么问题....这是我直接传递给 API 的内容:
curl -v -X POST https://api.sandbox.paypal.com/v2/checkout/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <my-access-token>" \
-d '{
"intent":"AUTHORIZE",
"description":"Description goes here",
"soft_descriptor":"Descriptor",
"purchase_units":[
{
"amount":{
"currency_code":"CAD",
"value":"351.75"
}
}
],
"order_application_context":{
"return_url":"redacted_for_privacy",
"cancel_url":"redacted_for_privacy"
}
}
该调用显然有效,因为 PayPal 正在返回 CREATED 响应。我已经遍历返回的 HATEOAS 链接并将用户重定向到批准 URL ...然后问题开始...
API 响应是:
{
"id": "8KF74291SN313461D",
"intent": "AUTHORIZE",
"status": "CREATED",
"purchase_units": [
{
"reference_id": "default",
"amount": {
"currency_code": "CAD",
"value": "351.75"
},
"payee": {
"email_address": "sb-iuaiy3198427@business.example.com",
"merchant_id": "DXYXG2JAU3SQQ"
}
}
],
"create_time": "2020-09-15T05:13:59Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8KF74291SN313461D",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/checkoutnow?token=8KF74291SN313461D",
"rel": "approve",
"method": "GET"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8KF74291SN313461D",
"rel": "update",
"method": "PATCH"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8KF74291SN313461D/authorize",
"rel": "authorize",
"method": "POST"
}
]
}
【问题讨论】:
-
如果没有有关您的测试尝试的详细信息(例如带有订单 ID 的 API 响应正文或调试 ID 标头),很难说出正在发生的事情。因此,请尝试使用在 paypal.com/… 创建的新企业帐户和新个人帐户进行测试——为该新企业帐户创建必要的 Rest 应用程序。
-
@PrestonPHX 谢谢普雷斯顿。我刚刚尝试了一个新的商业+个人帐户,它仍然循环。我将等待 PayPal 支持的回复。我已经更新了问题以包括正文响应(它是成功的,所以我认为问题出在 PayPal 方面)。