Hi Basara, thanks for following up.
To answer your questions:
Customer Country: UK
Order Currency: GBP
Paypal Method: PayPal Commerce (standard button on the fast checkout page)
Checkout buttons enabled: No
Product type: Physical goods only
Regarding the specific incident, I have been waiting for payment confirmation from the customer as I don't have access to their PayPal directly. It has come to light that PayPal automatically detected and refunded the duplicate charges, so the customer was not out of pocket.
But to clarify the symptoms further, in some cases the order was created in Abantecart, and payment was taken, but the customer was not redirected to a confirmation page and their cart remained full. This suggests a browser side callback was not completing reliably, leaving the customer with no confirmation even though the order had gone through on the backend.
That said, looking into the issue made it clear that there are some edge cases in the checkout flow worth addressing. The fixes I have applied locally add a reliable fallback for situations where the browser side callback does not complete, for example: if a customer loses their connection or closes the tab after PayPal has taken payment. This ensures the order is still confirmed in Abantecart even if the browser callback fails.
I hope this helps is some way.
To answer your questions:
Customer Country: UK
Order Currency: GBP
Paypal Method: PayPal Commerce (standard button on the fast checkout page)
Checkout buttons enabled: No
Product type: Physical goods only
Regarding the specific incident, I have been waiting for payment confirmation from the customer as I don't have access to their PayPal directly. It has come to light that PayPal automatically detected and refunded the duplicate charges, so the customer was not out of pocket.
But to clarify the symptoms further, in some cases the order was created in Abantecart, and payment was taken, but the customer was not redirected to a confirmation page and their cart remained full. This suggests a browser side callback was not completing reliably, leaving the customer with no confirmation even though the order had gone through on the backend.
That said, looking into the issue made it clear that there are some edge cases in the checkout flow worth addressing. The fixes I have applied locally add a reliable fallback for situations where the browser side callback does not complete, for example: if a customer loses their connection or closes the tab after PayPal has taken payment. This ensures the order is still confirmed in Abantecart even if the browser callback fails.
I hope this helps is some way.

