我遇到了一个奇怪的行为,至少对我来说感觉很奇怪。 我使用发票的付款方式,只想获取有关出生日期的信息,但不是来自客户,而是仅限于该地点。 我添加了标准的dob字段,它正在工作。 checkout/onepage/savePayment的请求中包含日期信息。获取更多信息到magento 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]
是不同的,additionalInformations也丢失了,我不知道他们在哪里丢失。
我的第一个想法是由于JS异步问题,但我在获得付款信息之前在creditpass扩展中添加了sleep(10)
,但这并没有帮助。
如果我在过程中添加一些Mage::log
,然后我发现在order->save()
之后记录了creditpass检查中的getPayment,所以时间线不应该成为问题,但是可以改为什么?