Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updated the 'isStockSufficient' function in the AvailabilityChecker class to include an optional argument for deferring payment check. Also adjusted the logic in PaymentPreCompleteListener accordingly.
During an order, the requested quantity of products is deducted from the available stock and set aside. However, when proceeding to payment via the admin interface (payment plugins do not trigger the same event), the stock verification function subtracts the reserved stock from the total stock to determine if there is enough left to fulfill the order. This approach yields an incorrect value (false) when the available stock is just sufficient to cover the order, as the quantity to be paid for is already deducted from the total stock. To address this issue, here is a proposal.
To reproduce the error on the demo:
At this stage, it is sufficient to verify that there are still a total of 10 units in stock, without needing to check the reserved units, as this verification has already been performed.