gpt4 book ai didi

javascript - Paypal Smart Payment Buttons — 如何在服务器端创建订单并将订单 ID 传递给 Paypal Buttons 设置?

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:10 25 4
gpt4 key购买 nike

我正在集成 Paypal Checkout 并关注 their documentation在此处了解如何设置客户端 SDK。

我不想在客户端设置订单项和金额,而是使用服务器端设置 step 4 末尾提到的订单.使用他们的 PHP SDK 我可以设法设置订单没问题,但我努力让事情正常工作的地方是如何将这个创建的订单传递给客户端。已创建订单的返回对象具有 ID 和 URL 以启动捕获它,但跟随链接实际上提供了与单击 Paypal 按钮不同的用户体验,因此我仍想使用按钮,但使用已创建的订单。

使用他们的示例代码:

  paypal.Buttons({
createOrder: function(data, actions) {
// This function sets up the details of the transaction, including the amount and line item details.
return actions.order.create({
purchase_units: [{
amount: {
value: '0.01'
}
}]
});
},
onApprove: function(data, actions) {
// This function captures the funds from the transaction.
return actions.order.capture().then(function(details) {
// This function shows a transaction success message to your buyer.
alert('Transaction completed by ' + details.payer.name.given_name);
});
}
}).render('#paypal-button-container');
//This function displays Smart Payment Buttons on your web page.

本质上,我有一个来自服务器端调用的订单 ID,不需要使用“createOrder”调用,但是如何将我的订单 ID 传递给 paypal.Buttons() 设置,这样当用户点击呈现的 Paypal 按钮时,他们会被发送来批准我创建的订单?

P.S.:我知道您之后会验证并捕获订单,但为什么有人想要在他们的客户端 Javascript 中设置订单费用?对我来说,这似乎是一个根本错误的想法。我在这里遗漏了什么吗?

最佳答案

解决方案相当明显,但不知何故,我之前看的时候并没有偶然发现它。 createOrder 需要返回订单 ID,这可以通过 documented 来完成:

method: 'post',
headers: {
'content-type': 'application/json'
}
}).then(function(res) {
return res.json();
}).then(function(data) {
return data.orderID; // Use the same key name for order ID on the client and server
});

关于javascript - Paypal Smart Payment Buttons — 如何在服务器端创建订单并将订单 ID 传递给 Paypal Buttons 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59334790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com