对于 PayPal 集成,他们的所有文档都告诉您调用在 Node.js 上运行的服务器端脚本,这里是对服务器中 CreateOrder 函数的客户端调用:
async createOrder() {
const response = await fetch("/api/orders", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
cart: [
{
id: "NQ888P",
quantity: "3",
},
],
}),
});
但是没有一个文档介绍这个更好的替代方案:下面的代码 100% 从客户端运行,根本不调用任何服务器端脚本。它直接进入 PayPal 的网站,并且比上面的机制做同样甚至更好的工作:
createOrder: function (data, actions) {
return actions.order.create({
intent: 'CAPTURE',
purchase_units: [{
amount: {
value: "14.99",
currency_code: "USD"
}
}]
})
},
这段代码只能在stackoverflow等论坛找到。那么有人知道为什么 PayPal 在所有文档中禁止仅使用客户端机制吗?
仅客户端方法已被弃用,PayPal 已通知使用该方法的用户将来将停止支持。请勿将其用于任何目的。