获取magento savePayment的其他信息

时间:2012-08-10 08:17:35

标签: magento

我遇到了一种奇怪的行为,至少对我来说感觉很奇怪。 我使用付款方式发票,只是想获得有关出生日期的信息,但不是来自客户,而是仅来自该地点。 我添加了标准的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,因此时间轴不应该成为问题,但可以是什么问题呢?

1 个答案:

答案 0 :(得分:0)

使用附加付款信息解决了问题。有人告诉我,必须更新支付信息表以存储给定的属性。由于添加新属性并通过eav力学链接它们的正常行为,这个想法并没有让我想到。 使用additional_information后,我的问题就解决了。