PayPal:是不是可以仅通过订单 ID/详细信息为订单付款
Posted
技术标签:
【中文标题】PayPal:是不是可以仅通过订单 ID/详细信息为订单付款【英文标题】:PayPal: Is it possible to pay for an order just by the order id/detailsPayPal:是否可以仅通过订单 ID/详细信息为订单付款 【发布时间】:2021-09-17 02:45:32 【问题描述】:我正在尝试在后端创建订单,然后将订单 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'); /
【问题讨论】:
【参考方案1】:不要使用 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;
);
,
【讨论】:
以上是关于PayPal:是不是可以仅通过订单 ID/详细信息为订单付款的主要内容,如果未能解决你的问题,请参考以下文章
如何将订单详细信息传递到 magento 中的 paypal-express-checkout?