一个间歇性且看似随机的错误正在影响至少三个不同站点上的 Magento 结帐。Magento 论坛上有许多关于此主题的主题,但有一些不好的建议(吞下例外)。该问题导致销售损失,并导致网站所有者非常沮丧。自 2011 年 3 月 ( http://www.magentocommerce.com/bug-tracking/issue/?issue=11081 )以来,此问题已被 Magento 记录。
支付方式、浏览器、Magento 版本或我们试图关联的其他因素中没有任何模式。主要症状是 var/log/exception.log 中记录的异常,其中指出“必须收集报价总计”,该异常被抛出Mage_Sales_Model_Quote::prepareRecurringPaymentProfiles()
。
我们记录了异常发生时的请求参数,并确定payment
参数为空。我们认为 Magento 在客户单击下订单时从付款步骤重新发送表单元素(因此信用卡详细信息不会在 AJAX 请求之间保留在网站上),并且表单序列化失败并返回 null /empty,然后 opcheckout.js 代码将其传递给 PHP 以触发异常。
您能否建议哪些条件或数据会导致原型Form.serialize
方法以这种方式失败和/或如何进一步解决该问题?