我遇到了一个奇怪的行为,至少对我来说感觉很奇怪。我使用发票付款方式,只是想获得有关出生日期的信息,但不是从客户那里,而只是在那个地方。我添加了标准的 dob 字段,它正在工作。checkout/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)
在 creditpass 扩展名中添加了一个,然后才获得付款信息,但这并没有帮助。
如果我Mage::log
在流程中添加一些内容,那么我会看到 creditpass 检查中的 getPayment 记录在之后,order->save()
因此时间线应该不是问题,但问题可能是什么?