2011-10-29 3 views
0

모두!Magento - 송장 이벤트 및 가격 비교 제출

송장 제출 후 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, Refunden NULL.

입력 : 총 £ 0.00를 지불 그랜드 총 £ 89.97, 총 환불 £ 0.00, 총 인해 £ 89.97.

결제 확인 후 두 가격 (총액 및 총액)을 올바르게 비교하려면 어떻게해야합니까?

+0

송장에는 [다음에 얻을 수있는 전체 방법]이 있습니다 (http://i.stack.imgur.com/wKbB1.png). 그들 중 어느 것이 필요합니까? – Zyava

+0

총액과 총 지불액을 비교해야합니다. 그러나 송장 제출 후 총 지불 된 NULL이 있습니다. – Eugene

답변

1

해결 방법은 다음과 같습니다

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

즐기십시오!