View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0007711 | module PayPal Checkout | module PayPal checkout - sub | public | 2024-08-27 11:48 | 2024-09-16 14:02 |
| Reporter | mount7 | Assigned To | |||
| Priority | high | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 2.4.0 / 3.4.0 | ||||
| Fixed in Version | 2.5.0 | ||||
| Summary | 0007711: Canceling paypal payment will not delete temporary order => causes problems for low stock items | ||||
| Description | Canceling a paypal payment will not delete the temporary order. The stock of order items is reserved and if the user tries to pay with a different payment method, an article not buyable error is shown. Technical issue: The cancelpaypalsession function calls $this->getServiceFromContainer(PaymentService::class)->removeTemporaryOrder(); removeTemporaryOrder will only delete orders without an order number Paypal temporary orders (not (PayPalACDC or apple pay or google pay) but PayPalStandard, PayPalPayLater, PayPalUAPM) will always get an order number | ||||
| Steps To Reproduce | 1. Add an item with stock 1 to basket 2. Checkout with paypal 3. On the paypal screen click abort 4. Redirected to payment page 5. Choose a different payment method 6. On order step click buy 7. Redirected to Basket with empty basket message and article not buyable error 8. (Wait until the clean up job removes the temporary order e.g. 10 minutes configured but can take longer) => Is not visible to the customer | ||||
| Additional Information | I don't see another option for shop owners to handle this problem: - Reducing the cleanup job time below 10 minutes could cause an error if customers take more than 10 minutes to finish the paypal payment process - Manually handling and deleting temporary orders => takes to much time and does not solve the issue Similar Issue if Credit Card payment fails: https://developer.paypal.com/tools/sandbox/card-testing/#link-rejectiontriggers => use "CCREJECT-REFUSED" as card owner => order will be stored with status error => stock is reserved and user cannot => an even worse: The clean up job will not remove the order | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||