【发布时间】:2020-09-28 16:29:31
【问题描述】:
我有一个通过 Ajax 更新的购物车(数量、删除产品)。如何更新智能按钮 iframe 中的值?当我刷新页面时,它显然可以工作,但是如何在后台使用 Ajax 来做到这一点?我尝试使用绕过相同来源策略的黑客重新加载 PayPal iframe,但它没有用,智能按钮消失了。 这就是我所说的 hack:
const iframe = document.querySelector("iframe");
iframe.src = iframe.src
这是我的智能按钮代码:
<script>
paypal.Buttons({
style: {
shape: "rect",
color: "gold",
layout: "horizontal",
label: "checkout",
size: "responsive",
tagline: "false"
},
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
currency_code: "GBP",
value: <?php echo number_format($total, 2); ?>
},
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
alert("Dear " + details.payer.name.given_name + ", Thank you for your payment!");
});
},
onShippingChange: function(data, actions) {
if (data.shipping_address.country_code !== "GB") {
return actions.reject();
}
return actions.resolve();
}
}).render("#paypal-button-container");
}
</script>
【问题讨论】:
-
发布更多关于您的实际 PayPal 按钮代码及其 createOrder 函数的信息,以便我们给出最佳答案
标签: javascript iframe paypal