0

全部!

在提交发票后,我正在尝试按顺序比较价格,例如 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 英镑。

确认付款后如何正确比较两个价格(Grand 和 Total)?

4

1 回答 1

1

解决方案是:

$event = $observer->getEvent()->getInvoice()->getOrder();

享受!

于 2011-11-05T08:03:13.257 回答