我正在整合贝宝支付方式到我的网站,这是完美的工作....直到我试图添加一个描述,这样我就可以查看贝宝发票上的所有订单细节。
只要我添加描述(我已经添加了order_id作为我想要传递的信息的示例):{}到下面的createOrder函数,paypal加载失败:
<script>
var total = '{{order.get_cart_total}}'
// Render the PayPal button into #paypal-button-container
paypal.Buttons({
style: {
color: 'blue',
shape: 'rect',
},
// Set up the transaction
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value:parseFloat(total).toFixed(2)
},
description: {
order_id
},
}]
});
},
// Finalize the transaction
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
console.log(JSON.stringify(details));
submitFormData()
});
}
}).render('#paypal-button-container');
</script>
在console我得到以下错误:
我已将以下设置添加到settings.py文件中:
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SAMESITE = 'None'
CSRF_COOKIE_SAMESITE = 'None'
1条答案
按热度按时间4smxwvx51#
actions.order.create(
和actions.order.capture(
已弃用有关如何集成从服务器创建和捕获的两个后端路由的信息,请参阅the standard checkout integration guide。示例在node.js中,但这两个路由(仅返回JSON)当然可以在任何环境中实现,包括python/django。
如果
order_id
是您自己唯一的订单ID(以前从未用于成功完成的付款),则通常传递此值的最佳字段是invoice_id
。成功付款后,默认情况下会阻止相同invoice_id的重复/重复付款,这有助于防止意外重复付款的可能性。