-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ECP-9553] Payment Captured for Failed order. #2793
Comments
Hello @SamJUK, Thank you for sharing this issue. Even though I wasn't able to reproduce it on my end, I've realised the root cause of the issue and I am confirming the edge case. As you may know, a quote turns into an order after completing the payment transaction and validating the transaction response in I assume the concurrency that you have defined is causing reserving the same Until this moment, it's an expected Magento behaviour due to unique constraints. However, the overall case should be caught and handled if there is an exception in the In the meantime, could you please share the frequency of this issue on your end and how did you realise it in the first place? Best Regards, |
Hi @candemiralp, Looking through our log retention, there is no other examples of this issue happening (before or after). Although going into the sales period, the potential risk of another clash does increase a bit. It was flagged up in monitoring as it comes through as a Magento critical log entry. Thanks |
Hello @SamJUK, I have done a bit more investigation about this issue and it looks like this issue is related to Magento's order ID reservation. As our plugin is not in-charge of reserving the ID for the order (it just consumes the generated value), this issue needs to be addressed on Magento 2 Github repository. Best Regards, |
Hi @candemiralp, Whilst I agree the core issue of the duplicate IDs likely can be attributed to the core. I would still expect Adyen to catch the cases when a order fails to save, void/cancel any taken payments & prevent any webhooks being dispatched for said failed order. There are other circumstances where an order save might fail due to issues unrelated to duplicate ids. Its worth noting, most stores do not run an extensive Observability suite. So the failed orders, likely would go unnoticed until a customer complains. Thanks |
Describe the bug
Two orders were placed via Apple Pay with near identical timings (a sub-second delta), one successfully placed and passed the customer through to the success page.
The other was rejected due to a Unique constraint violation on the increment_id and returned a 400 status on the
/payment-information
request. Leaving them on the checkout page, and the order was never created in Magento. After receiving the payment notification from their bank, they closed the site and never attempted to replace the failed order.Expected behaviour
Adyen not to capture payment for an order which fails the
/payment-information
post request or to cancel the payment it previously captured.Magento version
2.4.6-p8
Plugin version
9.9.1
The text was updated successfully, but these errors were encountered: