Now imagine, receiving tons of orders daily. A customer decides to cancel an order. We usually turn off emails for this and increment stock automatically because a lot of customer will order, change their mind, cancel, order again, change their mind again. So now you have, lets say 100 orders and 20 cancel. Do we have to check each of those 20 orders daily to determine whether or not the customer used their wallet to pay?
I think, it is best to refund to customer automatically. Because if not, customer has to wait for us to do it manually and cannot order again immediately. Additionally we can easily miss this and it can be extremely time consuming.
So, let us define a status to trigger when wallet is refunded. If order status is set to cancelled, or whatever custom status we may use, then refund wallet.
Please consider it