【问题标题】:Woocommerce unusual error `Your order has already been paid for.`Woocommerce 异常错误“您的订单已付款。”
【发布时间】:2015-03-19 14:08:37
【问题描述】:

每次我结账时都会收到消息您的订单已经付款。如果您需要帮助,请与我们联系。

而且网址总是https://www.example.co.uk/checkout/checkout/pay/?order=12163

应将唯一的订单标识符附加到 url,如&key=order_5511a22e9abfb

我什么都没改变?我删除了我的 cookie 和历史记录,错误消失了。 1小时后突然回来了。我没有添加任何插件。这可能是什么原因造成的?我没有安装任何缓存插件。

我已使用我的管理员帐户登录另一台计算机,但我已从该计算机注销。之前删除的购物车中的项目也会再次显示在购物车中。

明显的问题是我在个人资料上更改了姓氏并更新了,然后当我去结帐时,旧的个人资料信息在那里?

此外,woocommerce 订单列表中也不存在这些订单号。

一切都在尖叫会话/缓存,但我不知道是什么原因造成的?

如何调试?

【问题讨论】:

  • 我解决了这个问题。在测试订单并从垃圾箱中删除订单时,导致错误。解决这个问题的方法是清除 Woocommerce 系统状态工具中的所有会话和瞬态。

标签: wordpress woocommerce


【解决方案1】:

如果没有更广泛的上下文或更多信息(您使用的是什么支付网关?如果是 PayPal,您是否从同一个帐户运行多个商店?该 URL 应该是 /checkout/checkout/ ?)

以下是我会尝试的一些事情:


  1. 显然,清除缓存或从其他机器尝试。您的主机是否也负责缓存问题?也许与他们取得联系。尝试禁用缓存并重试:

使用 PHP:

<?php
  header('Cache-Control: no-cache, no-store, must-revalidate');
  header('Pragma: no-cache');
  header('Expires: 0');
?>

  1. 如果使用 PayPal 作为支付网关,请通过设置 > 结帐 > PayPal > “发票前缀”为发票号码添加唯一前缀。这不太可能解决您的问题,但值得一试。

这就是我现在所拥有的。我会在提供更多信息后更新我的答案,或者我能想到发生这种情况的另一个原因。

【讨论】:

    【解决方案2】:

    尝试使用普通用户帐户而不是管理员,看看它是否也有同样的问题。反映旧设置的个人资料信息也发生在我的 wordpress 网站上。它只是在一段时间后不断反映到旧设置,但这仅发生在 超级管理员 帐户上,其余管理员和用户工作正常。第一次登录管理面板也花了很长时间,一旦登录就可以正常工作。

    我猜你可能也面临同样的问题,对不起,我自己还没有想出解决方案。但作为管理员,我的个人资料等不会影响我,所以我没有任何理由删除超级管理员帐户。但是,如果您的问题仅出在管理员帐户上,请尝试创建一个新的管理员帐户并将其用于日常任务。

    【讨论】:

      【解决方案3】:

      因为它没有被标记为“答案”并且对于那些仍在寻找正确答案的人:它在 user892134 的评论中:清除 Woocommerce 系统状态工具中的所有会话。与管理员或超级管理员无关...这只是因为当您出于测试目的删除事务时,缓存会保留该事务的内存,原因我不明白,但我可以想象(错误的编码)当你重新- 使用缓存进行测试,交易失败...没有 Paypal 故障...woocommerce 缓存...希望它会有所帮助,因为我一直在寻找几个小时!

      【讨论】:

        猜你喜欢
        • 2016-06-11
        • 2017-03-17
        • 2016-07-10
        • 2014-10-08
        • 2019-05-18
        • 2013-12-06
        • 1970-01-01
        • 1970-01-01
        • 2017-10-18
        相关资源
        最近更新 更多