如何解决PayPal Express 运费未随补丁更新
当我修补订单时总是正确的,但运费仍然保持旧的运费(4.50)
例如我尝试用 24.60 修补它
这是我的代码 onShippingChange
onShippingChange: function (data,actions) {
data.action = "changeShippingCost";
return new Promise((resolve) => {
$.ajax({
url: window.location.protocol + "//" + window.location.hostname + '/paypalExpress/request',type: "POST",data: JSON.stringify(data),dataType: "json",headers: {
'content-type': 'application/json'
},success: function (data) {
resolve(data);
}
});
}).then(function (res) {
if (res.accept) {
shippingAmount = (res.shipping);
baseOrderAmount = (res.value);
itemsTotal = (res.itemsTotal);
return actions.order.patch([
{
op: 'replace',path: '/purchase_units/@reference_id==\'default\'/amount',value: {
currency_code: 'EUR',value: (parseFloat(baseOrderAmount)).toFixed(2),breakdown: {
item_total: {
currency_code: 'EUR',value: (parseFloat(itemsTotal)).toFixed(2)
},shipping: {
currency_code: 'EUR',value: (parseFloat(shippingAmount)).toFixed(2)
}
}
}
}
]);
}
return actions.reject();
});
},
我已经设法在没有服务器端的情况下创建了一个最小的可重现示例 here
更新: 联系PayPal Suport后,他们发给我
感谢您联系商家技术支持。
根据票中提供的信息,这是我的 了解您正在询问修补运输成本 进入您的智能支付按钮。我和我的一些同行一起工作 这和我已经包含了您正在寻找的建议代码 在这里完成
所以我需要更改 tax_total 以更改 shipping 或什么?
解决方法
在没有服务器端的情况下测试minimal reproducible example,航运立即更改为 24.60 ...
因此问题似乎出在服务器端(也许它仍然返回 4.50?)。你应该 console.log() res.shipping
并从那里调试
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。