13

我正在使用 spree 1-2-stable,并且我正在使用 spree-paypap-express 1-2-stable 分支(也与 master 一起尝试过,但又失败了)。当我尝试结帐订单并选择 PayPal express 作为付款方式时,它失败并显示错误:"Gateway Error: translation missing: en.the_totals_of_the_cart_item_amounts_do_not_match_order_amounts"。由于某种原因,订单总额与购物车商品数量不匹配。我整个周末都在这上面度过,但仍然不知道为什么会这样。

仅当我包含价格 > 0 的运费时才会出现此问题(如果我将运费设置为 ​​0,它会起作用)。一旦我将运费更改为 >0 或某个 % 的值,它就会中断。我尝试了“包括增值税的装运”真假-同样的事情。

有任何想法吗?这是ppx中的错误还是我错过了什么?


更新:2012 年 12 月 12 日

以下是我用来重现问题的值:我正在使用增值税(价格中包含 - 25%),我要购买的商品的价格是 265 欧元(货币无关紧要),商品数量为 1,运费为 15 欧元(运费中包含增值税)这是固定订单税。

我收到订单总额与项目总和不匹配的错误。经过一些调试后,我发现在发送到 PayPal 之前确实是不同的。

为什么我的总数计算错误?我正在使用狂欢的 1-2-stable 分支。我的宝石文件:

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'

我真正的问题是如何在付款步骤之前(交付步骤之后)重新计算运费和税金,以及如何覆盖计算器以便它们正确计算?

4

1 回答 1

12

经过大量调试后,我发现 spree_paypal_express gem 的一些错误。

  1. 如果税款为负数(增值税已包含在价格中,非欧盟订单可退还),则 PayPal 会因税款无效而拒绝订单
  2. 原来 spree_paypal_express 中的运输方式是硬编码的。它总是选择插入数据库中的第一个而不是客户选择的那个(如果您有多个运输选项,则会出现此错误)

这些问题加在一起导致结帐问题。

对于第一个问题,我opts[:tax] = 0在税收为负时设置,对于第二个实现的逻辑,它获取选定的运输方式(具有相应的价格)而不是硬编码的方式。

于 2012-12-14T01:04:46.133 回答