首页 > 解决方案 > 错误:ITEM_TOTAL_MISMATCH - 使用 paypal express 订购多个商品时

问题描述

当我在我的电子商务支付中集成贝宝时,我需要帮助,如果我订购了不止一件商品,那么它会给出错误:ITEM_TOTAL_MISMATCH,但如果我只订购一件商品工作正常。在这里我提供截图错误 错误贝宝

我正在使用 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'

$.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()

我将感谢您的所有帮助。谢谢

标签: ruby-on-railspaypalpaypal-sandbox

解决方案


推荐阅读