7

我正在尝试在订单已支付且现在已设置为“处理中”状态之后且仅在此之后将订单发送给第三方。什么是最好的观察者来设置它以适用于所有支付类型?

在阅读了几个来源之后,它看起来像:

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'是实现我所需要的正确方法。

4

1 回答 1

6

怎么样checkout_onepage_controller_success_action。如果您的订单付款成功,则可以使用此功能。还有一个事件sales_order_payment_capture。它也可能在您的情况下使用。我以前没用过。

检查此链接

编辑

根据讨论,这似乎sales_order_invoice_pay是捕获已付款订单的完美观察者,并且该事件在 Magento 1.9 中仍然可用。(未弃用)

如需更多参考,请查看此 链接

于 2014-08-01T01:03:05.537 回答