已支付Magento付款工作流程和事件订单

对于我的一个Magento模块,我需要捕获事件“任何订单被定义为付费”.

所以我发现相关的事件是sales_order_payment_pay.好的,似乎完全符合我的需求.

我是一个Magento开发者,而不是商家,目前,我从未将Magento实例放在网上和生产中.所以支付工作流程对我来说非常黑暗.我曾经在测试期间选择“支票/汇票”作为付款方式.

问题是:我需要捕获这个事件(sales_order_payment_pay)但似乎我无法触发它并且永远不会进入我的观察者功能.
我目前有2种付款方式,支票/汇票和信用卡.
对于第一个,商家需要在后端验证付款,而我是红色的,这是他创建发票的时刻.所以我尝试了但事件从未被触发过.
对于第二个,它更难:因为我处于开发模式,我不知道如何通过信用卡验证付款.我在万事达卡上找到了一个允许在Magento进行测试的号码,但是在后端,付费总额仍然等于零.因此,在提交订单后,没有触发任何事件(似乎非常符合逻辑),当我创建发票时,仍然没有触发任何事件.

您能帮助我更多地了解付款流程并抓住任何已支付的订单吗?我找不到任何有关它的信息或文档.

PS:我的模块的目的是捕获事件地点订单或支付的付款并生成用于数据导出的XML文件.第一个有下订单的人已经开发出来.

最佳答案 这个主题看起来有点棘手,所以我将分享我对付款方式和订单生命周期的看法.

Alan Storm’s vision

首先,我邀请您通过最着名的Magento博客作者之一Alan Storm看到这个主题.

以下是我认为它的工作方式:

案例1:通过在线支付订单(Paypal,信用卡等),接受付款

客户验证的订单 – >由Magento创建的订单 – > status pending_payment
客户在线支付的订单 – >付款服务验证的付款 – >付款好 – >由Magento创建的发票 – > status pending_payment(不确定这一点).
商家发货的订单 – >由Magento创建的shippig优惠券 – >状态完成

案例2:通过在线支付订单(Paypal,信用卡等),付款被拒绝

客户验证的订单 – >由Magento创建的订单 – > status pending_payment
客户在线支付的订单 – >付款服务拒绝付款 – > Magento取消订单 – >状态已取消

案例3:使用离线付款(支票/汇票,卖票等等)订购.发货前商家发票

客户验证的订单 – >由Magento创建的订单 – >状态待定
客户离线付款的订单 – >商家收到的付款 – >商家开具发票 – >由Magento创建的发票 – >状态处理
商家发货的订单 – >由Magento创建的运费优惠券 – >状态完成

案例4:使用离线付款(支票/汇票,卖票等等)订购.商船在开发票之前发货

客户验证的订单 – >由Magento创建的订单 – >状态待定
客户离线付款的订单 – >商家发货的订单 – >由Magento创建的运费优惠券 – >状态处理
商家开具发票的订单 – >由Magento创建的发票 – >状态处理

希望这个主题能够帮助将来的某个人.
如果您在此之后需要更多信息,请告诉我.

点赞