Подтвердить что ты не робот

Spree-paypal-express не работает с "Ошибка шлюза: отсутствует перевод: en.the_totals_of_the_cart_item_amounts_do_not_match_order_amounts"

Я использую spree 1-2-stable, и я использую spree-paypap-express 1-2-стабильную ветку (тоже пытался с мастером, но снова не сработал). Когда я пытаюсь проверить заказ и выбрать PayPal express в качестве способа оплаты, он терпит неудачу с ошибкой: "Ошибка шлюза: перевод отсутствует: en.the_totals_of_the_cart_item_amounts_do_not_match_order_amounts" . По какой-то причине сумма заказа не соответствует сумме товаров. Я провел целый уик-энд на этом и до сих пор не знаю, почему это происходит.

Проблема возникает только в том случае, если я включаю доставку с ценой > 0 (она работает, если я установил цену доставки в 0). Как только я изменю цену доставки на значение > 0 или несколько%, она ломается. Я попробовал как "Отгрузка, включая НДС", так и ложь - то же самое.

Любые идеи? Является ли это ошибкой в ​​ppx или я что-то не хватает?


ОБНОВЛЕНИЕ: 12/12/12

Вот значения, которые я использую, чтобы воспроизвести проблему: Я использую НДС (icnluded в цене - 25%), цена предмета, который я пытаюсь купить, составляет 265 евро (курение не имеет значения), количество предметов 1, а доставка - 15EUR (снова включен ват в цене отгрузки) это плоский налог на заказ.

Я получаю ошибку, которая не соответствует сумме сумм. После некоторой отладки я обнаружил, что на самом деле это разные, прежде чем отправлять в PayPal.

Почему мой общий расчет ошибочен? Я использую 1-2-стабильную ветвь буйства. Мой gemfile:

gem 'spree', :git => 'git://github.com/spree/spree.git', :branch => '1-2-stable'
#gem 'spree_usa_epay'
#gem 'spree_skrill'
gem 'spree_auth_devise', :github => 'spree/spree_auth_devise', :branch => '1-2-stable'
gem 'spree_paypal_express', :github => 'spree/spree_paypal_express', :branch => '1-2-stable'

Мой реальный вопрос заключается в том, как я могу пересчитать доставку и налоги непосредственно перед шагом оплаты (после шага доставки), а также как переопределить калькуляторы так, чтобы они правильно вычислялись?

4b9b3361

Ответ 1

После много отладки я обнаружил несколько ошибок с драгоценным камнем spree_paypal_express.

  • если налог отрицательный (НДС включен в цену и возвращается для заказов, не относящихся к ЕС), то PayPal отклоняет заказ из-за недействительного налога.
  • оказалось, что метод доставки в spree_paypal_express жестко закодирован. Он всегда выбирает первый, вставленный в БД, а не тот, который выбран клиентом (эта ошибка появится, если у вас есть несколько вариантов доставки)

эти проблемы в совокупности вызывают проблемы с оформлением.

Для первой проблемы я устанавливаю opts[:tax] = 0, когда налог отрицательный, а для второй реализованной логики, который получает выбранный метод доставки (с соответствующей ценой) вместо жестко закодированного.