When a user creates an order with a total of $1000, and they have $800 in their wallet, $800 is deducted from their wallet, leaving a balance of $200 to be paid. While the order remains active, the $800 is reserved and cannot be used for other purchases.
However, if the user cancels the order multiple times (e.g., three times), the wallet is charged repeatedly each time, even though it should only be charged once. This is a major issue and needs to be addressed immediately.