【发布时间】:2012-01-06 00:33:48
【问题描述】:
我正在开发 Magento (1.4 CE) 的扩展,一旦支付订单就需要触发该扩展。当 Paypal IPN(Paypal 标准)完成它的工作时,我无法找到一个挂钩的事件。
我已尝试使用 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 设置的“处理”阶段时,我是否可以挂钩某些事件?
干杯
【问题讨论】:
标签: php magento magento-1.4 paypal-ipn