2011-05-24 64 views
49

我试图找出客户选择在结账时注册的罕见错误(爱那些间歇性错误)的原因,但当订单完成时,Magento以某种方式无法保存客户记录。这导致孤儿订单没有电子邮件地址,这是一种困难的客户服务情况。为什么Magento在生成ID之后无法保存客户?

这里是我的调查结果至今:在adminhtml报告

  • 销售订单认为客户是游客和电子邮件地址为空。帐单和送货地址是可见的。
  • customer_is_guestsales_flat_order
  • sales_flat_order条目链接到一个有效的记录在sales_flat_order_address假。
  • sales_flat_order_address记录包含customer_idcustomer_address_id的值,但是这些链接的记录不存在。
  • 客户信息,订购产品,付款方式没有明确的模式。
  • 在system.log,exception.log,apache错误日志,var/reports或我知道的任何其他日志中没有相关条目。

思考:

  • 客户节省进展远远不够,生成的ID。
  • customer_save_after上有一个观察者导致保存回滚?
  • 低级数据库错误导致保存失败。

有没有人有任何关于如何跟踪这个问题的建议?

版本为Enterprise 1.9。

+0

使用什么付款方式? – 2011-05-24 10:25:45

+0

@Anton - 这似乎不关乎什么付款方式。一些是Paypal,一些是Cyber​​source。 – 2011-05-24 10:38:27

+0

您使用哪个magento版本?正如我所看到的,客户和订单保存被包装到一个交易中。我在核心模块的customer_save_after事件中没有看到任何观察员删除了客户(我发现这个事件只有两个观察者,他们都在时事通讯模块中)。 – Zyava 2011-05-24 11:24:21

回答

2

我会添加大量额外的日志记录,尝试将其记录到足以捕获错误 - 并且如果可以检测到该错误,则保存这些日志。

一旦你有显示错误的日志,你就可以更容易地隔离有问题的代码。

为此,您可能需要记录数据库查询,如果数据量很大和/或受到隐私问题的影响,这可能会非常棘手。

相关问题