我需要在成功下订单时以编程方式在Magento上对某些产品类型的订单发票。这是一个虚拟礼品卡,为了通过电子邮件发送礼品卡号,订单必须在管理员后端开具发票。
我认为“虚拟商品”已经有了这样的功能,但我的产品有“礼品卡”类型,而不是“虚拟”,因此我必须自己这样做。
到目前为止,我已设法确保该产品只能单独订购,因此订单中不会混入任何实体产品。此外,我在结账时能够检测到礼品卡,以隐藏任何非直接或不确定的付款方式。
现在我所要做的就是添加一个观察员来检查订单状态更改为“已收到的付款(已在帐户中保留)”或只是从之前的任何订单状态“收到付款”,例如“付款待处理”。只是在Magento没有这样的事件 - 至少就我所知,通过搜索来说。
所以我认为我将自动发票代码连接到Magento发出订单确认电子邮件的地方 - 但我根本无法找到它的位置。
有关我可以在何处插入代码以自动开具订单的任何建议?关于收到的付款,最好尽可能“安全” - 但我会解决任何问题,并且可以随时手动返回并阻止与疑似欺诈和订单相关的礼品卡,但不会收到付款。
提前感谢任何有关如何实现此目标的提示!
答案 0 :(得分:0)
我认为最好的选择是观察事件sales_order_place_after
,sales_order_payment_place_end
,这些事件会在下订单时被触发(see here)。
要100%确定,请向观察者添加代码,以检查订单到期是否等于零$order->getTotalDue() == 0