我同意你的观点@shadyyx,但我想做一些警告。
我的目的不是减少库存,而是将产品退回库存。
想象一下:
1. User makes request - stock -1
2. Awaiting Payment - nothing to do
两个可能的后续步骤:
3a. User has abandoned the purchase and after X days the administrator changes
the status to "Cancelled"
3b. The gateway refuses the payment and changes the status to "Denied" via IPN
在这两种情况下,产品都应自动返回库存(库存 +1)。这在 OpenCart 中默认不会发生。
我做了什么?
最初仅在状态更改为“已取消”时才返回库存
我将要做的?
为每个付款状态分配 +1 或 -1 并检查每个订单更改的状态。
示例:
用户下订单 - 等待付款(库存 -1)
网关正在分析付款 - 审核中(因为库存已经减少,所以什么也不做)
付款已确认 - 付款确认(因为库存已经减少,什么也不做)
订单已发货 - 已发货(因为库存已经减少,所以什么也不做)
用户拒绝发货 - 撤销(我不确定这一步是否增加库存)
用户将产品退回 - 等待产品(是退货状态 -无事可做)
用户已退款 - 已退款(股票+1)
为什么 ?
我想创建付款状态的历史订单,今天OpenCart 仅在订单被删除时返回库存
就是这样