如果未完成订单付款,是否有人知道magento中的修复程序没有减少库存。目前,默认情况下,即使用户从未完成付款流程,它也会将数量减少一个。
由于
答案 0 :(得分:0)
这个问题没有简单的解决方法,涵盖问题的各个方面。我能提出的最佳方法是:
用户签出后在会话中设置标记
Event:
sales_order_place_after
在订单成功时删除标志(orderId)
Event:
checkout_multishipping_controller_success_action checkout_onepage_controller_success_action
在下一页加载用户时,您可以检查该标志并取消订单(如果它仍然存在),但您可能无法捕获所有情况,因为用户可能没有页面加载。
另一种方法是编写一个cron机制,清除所有pending_payment订单,这些订单的时间早于n秒,但如果他试图选择其他付款方式,则可能不足以让客户满意。这就是第一个方法可以派上用场的地方。
当然,只有当付款方式需要即时付款时才应该这样做 - 否则您永远无法确定付款是否会在以后发生。