我正试图将订单发送给第三方之后,只有在订单已经支付并且现在已设置为'处理'状态之后。什么是最好的观察者来设置它,使其适用于所有支付类型?
在阅读了几个来源之后,似乎是:
sales_order_invoice_pay
应该适用于所有付款方式,但似乎已在Magento 1.9上删除:http://rabee.me/codes/magento/cheatsheet/1.9/(此列表不完整,请检查下面的更新)
另一个选项是:
'sales_order_payment_pay'
但是当我测试它设置支付方式为"支票/汇票"时,它不会在我使用订单>发票>提交发票后端生成发票后被触发
这个方法是否只能与其他支付方法一起调用?(贝宝/authorize.net)
更新:
阅读后:这另一个问题似乎是保证我在付款(在线或离线)后导出订单的唯一方法是在创建发票时捕获,并且对于Magento 1.9正确的观察者是:
sales_order_invoice_register
发票是自动创建和发送后,在线支付方式paypal/authorize.net?当在沙盒/测试模式下使用它们时,这仍然是正确的吗?
更新2:经过多次测试,似乎'sales_order_invoice_pay'
是用来实现我需要的正确方法。
checkout_onepage_controller_success_action
呢?这可以使用,如果您的订单付款是成功的。存在另一个事件sales_order_payment_capture
。它也可以用在你的情况下。我以前没有用过它。
查看此链接
编辑
根据讨论,sales_order_invoice_pay
似乎是捕获订单支付的完美观察者,并且该事件在Magento 1.9中仍然可用。(弃用)
更多参考,请查看链接