View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0007864 | module PayPal Checkout | module PayPal checkout - sub | public | 2025-12-01 11:45 | 2025-12-05 14:47 |
| Reporter | fcos | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | sometimes |
| Status | resolved | Resolution | fixed | ||
| Product Version | 2.6.3 / 3.5.1 | ||||
| Target Version | 2.6.4 / 3.5.2 | Fixed in Version | 2.6.4 / 3.5.2 | ||
| Summary | 0007864: race condition leads to aborted orders | ||||
| Description | Hello, 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 | ||||
| Tags | No tags attached. | ||||
|
|
-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 |