如何解决PayPal:是否可以仅通过订单 ID/详细信息来支付订单
我正在尝试在后端创建订单,然后将订单 ID 传递给智能按钮的 javascript,以便我可以在不允许用户编辑订单的情况下执行订单。我之前通过创建一个计划然后传入计划 ID 来执行付款,通过订阅成功地完成了此操作,但我不知道使用什么按钮操作来对订单执行此操作。我该怎么做?
这是我在后端执行此操作的方式:
headers = {
"Content-Type": "application/json","Authorization": bearer_token,}
data = {
"intent": "CAPTURE","purchase_units": [
{
"amount": {
"currency_code": "GBP","value": str(order.credits)
}
}
]
}
response = requests.post('https://api-m.sandbox.paypal.com/v2/checkout/orders',headers=headers,json=data).json()
order_id = response["id"]
context = {
'order_id': order_id,}
这是我在前端尝试过的:
paypal.Buttons({
style: {
size: 'responsive',},createOrder: function(data,actions) {
return actions.order.create({
"id": "{{ order_id }}"
});
},onApprove: function(data,actions) {
}
}).render('#paypal-button-container'); /
解决方法
不要使用 actions.order.create 或 actions.order.capture。在前一种情况下只需返回 id。
请参阅 https://developer.paypal.com/demo/checkout/#/pattern/server
处的代码示例 paypal.Buttons({
// Call your server to set up the transaction
createOrder: function(data,actions) {
return fetch('/some/path/on/your/server/paypal-order-create',{
method: 'post'
}).then(function(res) {
return res.json();
}).then(function(orderData) {
return orderData.id;
});
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。