我正在爲Magento(1.4 CE)的擴展工作,需要觸發一次訂單已付款。我很難找到一個事件,當貝寶IPN(貝寶標準)完成它的事情時,會觸發這個事件。Magento事件Paypal IPN標記訂單處理
我試過使用sales_order_invoice_save_after和sales_order_invoice_register事件,但這些事件似乎都不是由Paypal IPN響應觸發的。
現在我嘗試使用sales_order_save_after事件當訂單進入「處理」狀態,像這樣檢測:
class Lightbulb_Blastramp_Model_Observer {
public function sendOrderToBlastramp(Varien_Event_Observer $observer) {
Mage::log('Start' . "\n\n", null, 'blastramp.log');
$order = $observer->getEvent()->getOrder(); // get order data
// make sure the order is in the processing state
if ($order->getState() != Mage_Sales_Model_Order::STATE_PROCESSING) {
Mage::log('Not processing, return.' . "\n\n", null, 'blastramp.log');
return $this;
}
// order has reached "processing" state, do stuff...
}
}
從日誌文件中我可以看到我的代碼時觸發訂單最初是在「付款待處理」狀態下創建的,但在移至「處理」狀態時不會觸發。是否有一些事件可以觸發,當訂單觸及Paypal IPN設置的「處理」階段時會觸發?
乾杯