View Issue Details

IDProjectCategoryView StatusLast Update
0007972module PayPal CheckoutGeneralpublic2026-07-06 10:05
Reportersuabo Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Product Version2.9.1 / 3.8.1 
Target Version2.9.2 / 3.8.2 
Summary0007972: PayPal Webhook Fehler
DescriptionLogik-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 Informationoxorder.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.
TagsNo tags attached.

Activities

QA

2026-07-06 10:03

administrator   ~0018585

QA - ES -
move Issue to Project PayPal Checkout