View Issue Details

IDProjectCategoryView StatusLast Update
0007864module PayPal Checkoutmodule PayPal checkout - subpublic2025-12-05 14:47
Reporterfcos Assigned To 
PrioritynormalSeveritymajorReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version2.6.3 / 3.5.1 
Target Version2.6.4 / 3.5.2Fixed in Version2.6.4 / 3.5.2 
Summary0007864: race condition leads to aborted orders
DescriptionHello,

the checkForAbortedPayPalOrderPlacement() method in
htdocs/vendor/oxid-solution-catalysts/paypal-module/src/Component/BasketComponent.php
can be called in the thankyou init method wich leads to a inertnal redirect to the thankyou page wich just closes the
paypal popup with an console json error.

The customer stays on cl=order and the order is broken.

It seems that the problem occurs when the webhook marks the order as paid before the internal oxid logic is executed wich results in the module thinking that the order was aborted and redirect to the thankyou page.

I could reproduce it only with a hack in checkForAbortedPayPalOrderPlacement().

1. Go through the checkout with paypal till the paypal popup with the pay button.
2. Modify checkForAbortedPayPalOrderPlacement() and add the redirect at the top of the methods without
any order checks.
3. Click the pay button in the paypal popup
4. the paypal popup should just close with an json error in the browser console




TagsNo tags attached.

Activities

QA

2025-12-01 14:01

administrator   ~0018273

Last edited: 2025-12-03 08:13

-es-

maybe related to 0007862

fixed in PayPal Checkot v2.6.4-rc.5 / v3.5.2-rc.4
with Commit: https://github.com/OXID-eSales/paypal-module/commit/c4615d7c981b8ddf78346bd347b3e168c178eeff