redirect - PayPal 授权链接将用户重定向到任何地方并在同一个 PayPal 站点中保持循环
问题描述
我有一个情况,没有解决。我仍然尝试过没有成功的解决方法,相同的循环返回到 PayPal 网站中的相同形式。我看到按钮是 CONTINUE 而不是 PAY NOW。这可能是一个线索吗?
这是 Postman 中的 API 请求示例和响应:
https://api.sandbox.paypal.com/v2/checkout/orders
有效载荷
{
"intent": "AUTHORIZE",
"purchase_units": [
{
"amount": {
"currency_code": "USD",
"value": "100",
"breakdown": {
"item_total":{
"currency_code": "USD",
"value": "100"
},
"shipping":{
"currency_code": "USD",
"value": "0"
},
"tax_total":{
"currency_code": "USD",
"value": "0"
},
"shipping_discount":{
"currency_code": "USD",
"value": "0"
}
}
},
"items": [
{
"name": "Item #1234",
"unit_amount":{
"currency_code": "USD",
"value": "100"
},
"tax": {
"currency_code": "USD",
"value": "0"
},
"quantity": "1",
"description": "Company Name",
"sku": "tel:+12065555555",
"custom": "My Custom Data"
}]
}
]
}
响应(201 - 创建)
{
"id": "8W523711V28300745",
"status": "CREATED",
"links": [
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8W523711V28300745",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/checkoutnow?token=8W523711V28300745",
"rel": "approve",
"method": "GET"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8W523711V28300745",
"rel": "update",
"method": "PATCH"
},
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8W523711V28300745/authorize",
"rel": "authorize",
"method": "POST"
}
]
}
因此,浏览器中用户要遵循的链接是:
https://www.sandbox.paypal.com/checkoutnow?token=8W523711V28300745
在此链接中,授权订单后,PayPal 网站不会重定向到任何地方,而是循环回到相同的表单。但是我收到有关批准的通知。我认为用户体验处于该循环中是令人困惑的。
解决方案
如果您将用户重定向到approval_url
,那么您的原始 API 请求应该包含return_url
,因此 PayPal 知道在哪里返回客户。需要从批准返回,以便您可以捕获订单,否则将没有付款。
最好的集成不使用任何重定向。无需将浏览器发送到批准 URL,您只需创建订单并取回其id
价值即可。然后使用它来显示一个提供上下文结帐体验的按钮,使您的网站保持在后台加载(没有重定向)。买家批准后,您将执行 API 调用来捕获订单。这是演示代码:https ://developer.paypal.com/demo/checkout/#/pattern/server
它实际上非常简单/直截了当,最后的大部分内容是关于捕获后错误处理的一些指针
推荐阅读
- collation - 从 sql server 移动到雪花查找区分大小写的排序规则问题
- unix - 如何使用 UNIX 或 Informatica Power Center 将 EBCDIC 文件转换为 ASCII 文件?
- syncfusion - 如何将“syncfusion 文档编辑器”保存到数据库
- python-3.x - pyqtgraph 动态绘图:添加行以打开 GUI
- azure - 在 Azure 数据工厂中更改 adf_publish 分支和路径
- java - 如何使用黑白选项 Mac OS 打印黑白文档?
- java - 如何计算日期的差异?
- python - 计算图像中白色背景上蓝调线的数量
- python - 熊猫中的日期列转换
- javascript - 使用 Ajv.js 一次编译多个 json 模式