我遇到了一种奇怪的行为,至少对我来说感觉很奇怪。 我使用付款方式发票,只是想获得有关出生日期的信息,但不是来自客户,而是仅来自该地点。 我添加了标准的dob-fields,它正在运行。结帐/ onepage / savePayment请求中包含日期信息。
我们使用Phoenix-Creditpass http://www.magentocommerce.com/magento-connect/creditpass.html进行检查。
我的问题是creditpass扩展中的付款信息。该检查由(JS)payment.save上的Ajax-Request启动。付款信息已加载:Mage::getSingleton('checkout/session')->getQuote()->getPayment()
。据我所知->debug()
,dob信息丢失了。
我尝试追踪问题,我可以看到Mage_Checkout_Model_Type_Onepage::savePayment()
中的$quote->save()
后面有正确的数据。
看起来两个地方的付款信息是相同的,因为它中的ID和时间戳是相同的,但method_instance[store]
是不同的,而且附加信息也会丢失,我不知道它们会丢失在哪里。
我的第一个想法是由于JS异步导致的问题,但我在获得付款信息之前在信用通道扩展中添加了sleep(10)
,但这没有帮助。
如果我向流程添加一些Mage::log
,那么我看到,order->save()
之后记录了信用通行检查中的getPayment,因此时间轴不应该成为问题,但可以是什么问题呢?
答案 0 :(得分:0)
使用附加付款信息解决了问题。有人告诉我,必须更新支付信息表以存储给定的属性。由于添加新属性并通过eav力学链接它们的正常行为,这个想法并没有让我想到。 使用additional_information后,我的问题就解决了。