对于我的Magento模块之一,我需要捕捉事件“任何订单都被定义为支付”。所以我发现关联的事件是sales_order_payment_pay。Ok似乎完全符合我的需求。
我是一个Magento开发者,而不是一个商人,目前,我从来没有把一个Magento示例在线和生产。所以支付工作流程对我来说是相当黑暗的。我曾经选择“支票/汇票”作为支付方式在我的测试。
问题是:我得赶上这个活动(sales_order_payment_pay)但似乎我无法触发它,也从未进入我的观察者功能。我目前有2种支付方式,支票/汇票和信用卡。对于第一种,商家需要在后台验证付款,我认为这是他创建发票的时刻。所以我尝试了它,但从未触发事件。对于第二种,这是更困难的:因为我在开发模式,我不知道如何验证通过信用卡付款.我发现了一个万事达卡在线谁允许在Magento测试的号码,但在后端,总支付的ammund仍然等于零.所以提交订单后,没有事件触发(似乎很合乎逻辑),当我创建发票,仍然没有事件触发.
你能帮助我了解更多的支付过程,并赶上任何订单支付?我找不到任何有关它的信息或文件。
附言:我的模块的目的是捕捉事件下订单或付款支付,并生成一个XML文件的数据导出。第一个下订单已经开发。
2条答案
按热度按时间yks3o0rb1#
这个主题似乎有点棘手,所以我将分享我对支付方式和订单生命周期的看法。
Alana Storm's vision
首先,我邀请你来看看这个主题由最著名的Magento博客之一,阿拉纳 Storm 。
以下是我认为它是如何工作的:
案例1:通过在线支付(Paypal,信用卡等)订购,接受付款
订单已由客户端验证->订单由Magento创建->状态待定_付款
订单由客户在线支付->付款服务验证付款->付款OK -> Magento创建的发票->状态待定_付款(不确定这一点)。
订单由商家发货->由Magento创建的shippig优惠券->状态完成
案例2:在线支付(Paypal,信用卡等),付款被拒绝
订单已由客户端验证->订单由Magento创建->状态待定_付款
订单由客户在线支付->付款服务拒绝付款->订单由Magento取消->状态取消
案例3:线下支付订单(支票/汇票、优惠券等)。商家发货前开具发票
订单已由客户端验证->订单由Magento创建->状态待定
订单由客户离线支付->由商家收到付款->由商家开具发票->由Magento创建发票->状态处理
订单由商家发货->由Magento创建的运输优惠券->状态完成
案例4:离线支付订单(支票/汇票,销售优惠券等)。商家在开具发票前发货
订单已由客户端验证->订单由Magento创建->状态待定
订单由客户离线支付->订单由商家发货->由Magento创建的运输优惠券->状态处理
由商家开具发票的订单->由Magento创建的发票->状态处理
希望这个主题能在将来帮助到别人。
如果你需要更多的信息就告诉我。
yc0p9oo02#
我使用如下:
**1 -app/code/loca/Packagename/Modular/etc/config.xml
字符串
**2 -app/code/loca/Packagement/Modulus/Model/Rewrite/Order.php
class Packagement_Modulus_Model_Rewrite_Order扩展了 Mage _Sales_Model_Order{
型
}
**3 -app/code/loca/Packagement/Modulus/Model/Rewrite/Observer.php
型