Magento 1.9 - 获取付款事件的发票ID

时间:2016-11-07 15:48:09

标签: php oop magento events

在我的Magento 1.9安装中,我有一个观察者观察事件sales_order_invoice_pay。当此事件触发时,我试图将发票的ID存储在我创建的自定义模型中。

以下是我从活动中获取发票的方式:$invoice = $observer->getEvent()->getInvoice();

但是,当我尝试使用:getId()getData('entity_id')getIncrementId()getOrigData('entity_id')时,我会收到null值。

我甚至无法从发票中获取增量ID,我已经使用了getIncrementId()getData('increment_id')

我在这里完全失去了。

对于我来说,保存此特定发票ID非常重要,因为我稍后会使用它来加载该发票并为发票项目创建货件。

我有没有得到身份证明?

1 个答案:

答案 0 :(得分:1)

由于调度\Mage_Sales_Model_Order_Invoice::pay事件的sales_order_invoice_pay方法也会在\Mage_Sales_Model_Order_Invoice::capture中调用,因此在您观察时可能不会保留发票。尝试使用在保存发票后发送的事件sales_order_invoice_save_after。应保存增量并设置id。