View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0007972 | OXID eShop (all versions) | 2.3. Extensions (modules, themes) | public | 2026-07-01 17:17 | 2026-07-01 17:17 |
| Reporter | suabo | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Product Version | 6.5.5 | ||||
| Summary | 0007972: PayPal Webhook Fehler | ||||
| Description | Logik-Widerspruch im Code: Das Modul wirft intern völlig korrekt eine WebhookEventRetryException (da die Bestellung zum exakten Zeitpunkt des Webhook-Eingangs wegen DB-Transaktionen/Race-Conditions noch nicht vollständig geladen werden kann). Fehlerhaftes HTTP-Handling: Anstatt diese Retry-Exception zu nutzen, um PayPal über einen HTTP-Statuscode 422 oder 503 mitzuteilen, dass der Request später wiederholt werden soll, fängt das Modul (oder der OXID-Core) die Exception ab und antwortet mit einem HTTP 200 OK. Die Folge: PayPal hakt den Webhook als "erfolgreich zugestellt" ab und sendet ihn nie wieder. Dem Shop fehlen dadurch dauerhaft die Zahlungs- und Bankdaten für den Rechnungskauf. | ||||
| Additional Information | oxorder.oxtimestamp: 2026-06-30 16:11:41 oscpaypal_order.oxtimestamp: 2026-06-30 16:11:40 Auszug aus der PayPal Log: [2026-06-30 16:11:43] PayPal Payment Logger.ERROR: Shop Order for PayPal order 'xxx' not found ["[object] (Ox idSolutionCatalysts\\PayPal\\Exception\\WebhookEventRetryException(code: 0): Shop Order for PayPal order 'xxx ' not found at .../vendor/oxid-solution-catalysts/paypal-module/src/Exception/WebhookEventRetryException. php:18)\n[stacktrace]\n#0 .../vendor/oxid-solution-catalysts/paypal-module/src/Core/Webhook/Handler/Webho okHandlerBase.php(180): OxidSolutionCatalysts\\PayPal\\Exception\\WebhookEventRetryException::byPayPalOrderId()\n#1 .../vendor/oxid-solution-catalysts/paypal-module/src/Core/Webhook/Handler/WebhookHandlerBase.php(51): OxidSoluti onCatalysts\\PayPal\\Core\\Webhook\\Handler\\WebhookHandlerBase->getOrderByPayPalOrderId()\n#2 .../vendor /oxid-solution-catalysts/paypal-module/src/Core/Webhook/EventDispatcher.php(27): OxidSolutionCatalysts\\PayPal\\Core\\Webho ok\\Handler\\WebhookHandlerBase->handle()\n#3 .../vendor/oxid-solution-catalysts/paypal-module/src/Core/W ebhook/RequestHandler.php(87): OxidSolutionCatalysts\\PayPal\\Core\\Webhook\\EventDispatcher->dispatch()\n#4 .../vendor/oxid-solution-catalysts/paypal-module/src/Core/Webhook/RequestHandler.php(61): OxidSolutionCatalysts\\PayPal \\Core\\Webhook\\RequestHandler->processEvent()\n#5 .../vendor/oxid-solution-catalysts/paypal-module/src/ Controller/WebhookController.php(50): OxidSolutionCatalysts\\PayPal\\Core\\Webhook\\RequestHandler->process()\n#6 .../vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(398): OxidSolutionCatalysts\\PayPal\\Controller\\W ebhookController->init()\n#7 .../vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(278): OxidEs ales\\EshopCommunity\\Core\\ShopControl->_initializeViewObject()\n#8 .../vendor/oxid-esales/oxideshop-ce/ source/Core/ShopControl.php(142): OxidEsales\\EshopCommunity\\Core\\ShopControl->_process()\n#9 .../vendo r/oxid-esales/oxideshop-ce/source/Core/Oxid.php(27): OxidEsales\\EshopCommunity\\Core\\ShopControl->start()\n#10 .../source/index.php(16): OxidEsales\\EshopCommunity\\Core\\Oxid::run()\n#11 {main}\n"] [] Access Log: 173.0.81.200 - - [30/Jun/2026:16:11:42 +0200] "POST /index.php?cl=oscpaypalwebhook HTTP/1.1" 200 4052 "-" "PayPal/AUHD-1.0-1" Es werden noch 2 weitere Anfragen an den Webhook gesendet, welche mit dem gleichen Fehler geloggt, aber mit 200 beantwortet werden. | ||||
| Tags | No tags attached. | ||||
| Theme | Not defined | ||||
| Browser | Not defined | ||||
| PHP Version | Not defined | ||||
| Database Version | Not defined | ||||