所有!
我正在尝试在提交发票后按顺序比较价格,例如GrandTotal和TotalPaid。 我正在尝试听“sales_order_invoice_save_after”事件。
config.xml
...
<events>
<sales_order_invoice_save_after>
<observers>
<orderapi>
<class>orderapi/observer</class>
<method>checkInvoiceSubmit</method>
</orderapi>
</observers>
</sales_order_invoice_save_after>
</event>
...
和下一步:
Observer.php
public function checkInvoiceSubmit(Varien_Event_Observer $observer)
{
$event = $observer->getEvent()->getInvoice();
$paid = $event->getState();
if($paid == 2) {
echo $paid."<br/>";
}
var_dump("Grand ".$event->getGrandTotal());
var_dump("Paid ".$event->getTotalPaid());
var_dump("Due ".$event->getTotalDue());
var_dump("Refunden "$event->getTotalRefunden());
die;
}
并看到: 89.97分, 支付NULL, DUE NULL, 重新抛弃NULL。
输入: 总计89.97英镑, 总付款£0.00, 退款总额£0.00, 总到期£89.97。
如何在确认付款后正确比较两个价格(总价和总价)?
答案 0 :(得分:1)
解决方案是:
$event = $observer->getEvent()->getInvoice()->getOrder();
享受!