【问题标题】:Magento order being charged twiceMagento 订单被收取两次费用
【发布时间】:2014-07-20 14:00:50
【问题描述】:

我是Magento 开发人员,我的一位客户遇到了一个重大问题。他们的一些买家/客户(非常随机)被收取两倍或更多订单金额的费用,但每次只创建一个订单。到目前为止,它已经发生了 3 次,过去 3 周内发生了 2 次。

他们正在使用Authorize.net CIM Integration 模块。经过一番调查,我意识到他们并不是唯一遇到此问题的 Magento 电子商务网站。由于几乎不可能重现错误并且没有模式,因此大多数人似乎认为这仅意味着存在停机时间、超时或服务器超载。

目前看来,唯一能帮助某些人消除此问题的方法是调整 PHP 配置(例如 max_execution_time)和 CURL timeout 变量。

我想知道是否有人遇到过这个问题,如果有,您是否有更多关于为什么会发生这种情况以及如何解决它的信息?到目前为止,我发现的少量信息还不是具体的,寻找可靠的事实、解释和解决方案。谢谢!

【问题讨论】:

  • 我也在使用我自己定制的 magento Authorize.net CIM 集成,我以前从未遇到过这个问题。您能否要求他们登录到 authorize.net 并查看两次交易之间的时间差,因为您通常会收到“已提交重复交易”。如果在约 30 秒内提交相同的交易。
  • 感谢您的评论我刚刚收到我的托管服务提供商 (Nexcess) 的回复,他们说在 Magento exception.log 中确实有一个“已提交重复交易”。我的问题是如何/为什么会发生这种情况?
  • 假设这不是 CIM 模块中的错误。如果客户结帐信用卡由于 AVS 而失败,他们迅速纠正问题并重新提交,那么您会得到“已提交重复交易”。见support.authorize.net/authkb/…

标签: php magento payment authorize.net


【解决方案1】:

这可能与 MySQL 的问题有关,我们先查看日志。我的情况是,这个 MySQL 错误日志出现在问题订单发生的时间附近:

与 db: '...' user: '...' host: 'localhost' 的连接中止 1198255(读取通信数据包时出错)

然后我确实按照本指南进行了修复:https://dba.stackexchange.com/a/19139

【讨论】:

    【解决方案2】:

    有些游客很不耐烦。 当他们点击某个表单按钮并且感觉没有任何动作时,他们会双击这个按钮。

    所以放置一些java脚本代码来禁止第二次点击几秒钟或在按钮周围放置一个文本不要点击这个按钮两次。

    【讨论】:

    • 如果他使用标准结帐,这应该在 magento 中到位。
    猜你喜欢
    • 2018-08-15
    • 1970-01-01
    • 2013-05-11
    • 2018-10-01
    • 2015-11-29
    • 2014-04-14
    • 2019-01-01
    • 2015-12-19
    • 1970-01-01
    相关资源
    最近更新 更多