【发布时间】:2014-09-24 02:49:47
【问题描述】:
我正试图在订单已支付且现在已设置为“处理中”状态之后且仅在此之后才将订单发送给第三方。什么是最好的观察者来设置它以适用于所有支付类型?
在阅读了几个来源之后,它似乎是:
sales_order_invoice_pay
应该适用于所有付款方式,但它似乎已在 Magento 1.9 上被删除:http://rabee.me/codes/magento/cheatsheet/1.9/ (此列表不完整,请查看下面的更新)
另一个选项是:
'sales_order_payment_pay'
但是当我测试它时,将付款方式设置为“支票/汇票”,在我使用 Order > Invoice > Submit Invoice 在后端生成发票后,它不会被触发
此方法是否仅与其他付款方式一起调用? (贝宝/authorize.net)
更新:
阅读后:this other question似乎保证我在付款(在线或离线)后导出订单的唯一方法是捕获发票的创建时间,而对于 Magento 1.9正确的观察者是:
sales_order_invoice_register
通过在线方式 paypal/authorize.net 付款后是否会自动创建和发送发票?在沙盒/测试模式下使用它们时仍然如此吗?
更新 2:
经过大量测试,'sales_order_invoice_pay' 似乎是实现我需要的正确方法。
【问题讨论】:
标签: php magento observers magento-1.9