如何解决错误:ITEM_TOTAL_MISMATCH - 当使用贝宝快递订购不止一件商品时
我在电子商务付款中集成贝宝时需要帮助,如果我订购了不止一件商品,则会出现错误:ITEM_TOTAL_MISMATCH,但如果我只订购一件商品,则工作正常。 在这里我提供屏幕截图错误 error paypal
我正在使用 RoR,这是要提供的代码:
- 在我的 HAML 代码上:
#paypal-button
.order-info{ data: { payable: 'true',debug: 'true',order: { id: order.id,:'custom-id' => order.custom_id,total: order.total_actual,items: order.order_items_for_paypal.to_json,breakdown: order.order_breakdown_for_paypal.to_json }}}
= form_for :payment,url: payment_finish_path,method: :post,html: { id: 'payment-info' } do |f|
= f.hidden_field :order_id,value: order.id
= f.hidden_field :payment_id
= f.hidden_field :paid_at
= f.hidden_field :payer_email
= f.hidden_field :status
= f.submit :go,class: 'd-none'
- 这是我的 JS 代码:
$.fn.displayPaypalButton = function() {
var el = this
if (el.size() > 0) {
var orderInfo = el.next(".order-info");
if (orderInfo.data("payable") == true) {
paypal.Buttons({
createOrder: function(data,actions) {
return actions.order.create({
intent: "CAPTURE",application_context: {
user_action: "PAY_NOW"
},purchase_units: [{
custom_id: orderInfo.data("order-custom-id"),amount: {
currency_code: "EUR",// value: 100,value: orderInfo.data("order-total"),breakdown: orderInfo.data("order-breakdown")
},items: orderInfo.data("order-items")
}]
});
},onApprove: function(data,actions) {
// Capture the funds from the transaction
return actions.order.capture().then(function(details) {
var form = $("form#payment-info");
form.find("#payment_payment_id").val(details.id);
form.find("#payment_paid_at").val(details.update_time);
form.find("#payment_payer_email").val(details.payer.email_address);
form.find("#payment_status").val(details.status);
form.submit();
});
}
}).render("#" + el.attr("id"));
}
}
}
$('#paypal-button').displayPaypalButton()
感谢您的所有帮助。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。