WooCommerce - 由于将额外的商品添加到购物车而导致交易失败

WooCommerce - Transactions failing due to extra item(s) being added to cart

我的 Woocommerce 商店有问题,在解决问题时完全碰壁了。

下面是场景和问题的 运行:

Error Message: The transaction registration could not be completed due to a missing or invalid parameter. Details: 3195 : The line item amount details do not add up correctly.

如果您查看管理面板中的失败订单,您可以看到他们没有放入的商品已添加到他们的购物车。

我们怎么知道他们没有把它们放进去?因为它们是多年前的商品,我们不再销售,而且根本不在任何地方的产品列表中!

所以,我多年来一直在进行故障排除,并想出了一个解决办法。

我们安装了 customweb 的 "WooCommerce SagePayCw" 插件,以便人们可以通过 Sage Pay 付款。那里有一个名为购物车的设置:

During the checkout the cart can be sent to Sage Pay. The ordered items will then be displayed in the Sage Pay account.

我已将其更改为 "NO"(不要将购物车发送到 SagePay)并且订单成功通过 - 但是额外的商品仍在添加到订单中。

第一个想法 - "oh dear, are they paying for the extra items that are being added to the cart without them realising?"

不,如果您查看管理面板中的订单,您会发现所有总数加起来都是错误的(或正确的),所以他们只支付了他们应该支付的费用???

  1. extra item: £10
  2. real item: £10
  3. real item: £10
  4. shipping: £5

TOTAL: £25.

但是,此解决方法仍然会在订单成功页面和已完成的订单电子邮件中向客户显示奇怪的总数 - 这远非理想,因为它会严重混淆客户。

就我所知。如果有人能帮我弄清楚这里发生了什么,并阻止将这些额外的产品添加到购物车,我将不胜感激。

此问题已修复。事实证明 woocommerce_order_items table 已损坏并且有来自之前网站的旧订单数据。

我们当前的订单号已经赶上了旧订单号,旧订单商品已包含在订单中。