Zahlungen ohne Bestellung - Webhook failed

Geändert am Do, 8 Okt um 3:26 NACHMITTAGS


INHALTSVERZEICHNIS


Allgemein


Wenn bei mollie Zahlungen auftreten, zu denen im Shop keine zugehörige Bestellung existiert, liegt dies häufig daran, dass die Webhook-Aufruf von mollie an den Shop fehlschlagen. 


Der Webhook-Aufruf dient dazu, den Status nach Abschluss der Zahlung zurück an den JTL Shop zu übermitteln. Wenn die Übertragung fehlschlägt, wird das Plugin nicht über den Erfolg der Zahlung informiert und es wird keine Bestellung angelegt. Für das Fehlschlagen der Webhook-Aufruf kann es verschiedene Gründe geben, die im Folgenden näher beschrieben werden.


Um die Ursache zu ermitteln, ist es hilfreich, den Webhook-Status im mollie-Dashboard zu überprüfen. Diesen findest du im detaillierten Verlauf einer betroffenen Zahlung im mollie-Dashboard (wenn man auf die Zahlung klickt, auf der rechten Seite):







Häufige Ursachen:



1. Fehler beim Verbindungsaufbau zwischen mollie und Shop-Server (Status-Code 28 Timeout  / Empty reply from server)

Es treten aktuell vermehrt Fälle auf, bei denen IP Adressen von mollie von den Hosting-Providern blockiert werden. Dies führt dazu, dass die Webhook-Aufrufe von mollie fehlschlagen und der Status der Zahlung nicht an den Shop übertragen werden kann.


Bitte wende dich diesbezüglich an deinen Hosting-Provider, damit sichergestellt wird, dass Webhook-Aufrufe von mollie nicht durch Firewall- oder andere Sicherheitsmechanismen blockiert werden. Idealerweise wird hierfür eine gezielte Ausnahmeregel für den Webhook-Endpunkt eingerichtet.


mollie empfiehlt, keine feste IP-Whitelist zu verwenden, da sich die IP-Adressen der Webhook-Systeme ändern können. Sollte eine IP-Freigabe dennoch erforderlich sein, stellt mollie eine aktuelle Liste unter https://ip-ranges.mollie.com/ips.txt bereit.


Weitere Informationen findest du in der offiziellen Webhook-Dokumentation von mollie und der Mollie Support kann hier auch weiter helfen.



2. PHP-Error beim Abschluss der Bestellung (Status-Code 500)


Wenn nach dem Webhook-Aufruf im ausgeführten Prozess des Shops ein Fehler auftritt, kann dies dazu führen, dass der Bestellabschluss fehlschlägt und die Verbindung zum Webhook mit einem Status-Code 500 fehlschlägt. Die Gründe für einen Prozessabsturz können sehr unterschiedliche Ursachen habe. 


In diesem Fall sollte unbedingt der PHP-Error-Log des Shop-Servers im entsprechenden Zeitraum geprüft werden. In den allermeisten Fällen ist dort eine aussagekräftig Fehlermeldung (PHP Fatal Error) verzeichnet, die auf die Ursache des Absturzes verweist.



3. Ablehnung oder Umleitung der Webhook-Aufrufe durch vorgeschaltete Sicherheitsdienste (Status-Code 302/401/403)


Eine weitere häufige Ursache für eine fehlgeschlagene Verbindung sind vorgeschaltete Sicherheitsdienste wie Web Application Firewalls (WAF), Botprotection oder CDN-Anbieter (wie z.B. Cloudflare). Diese können Aufrufe an den Shop von externen Quellen blockieren oder umleiten.


In diesem Fall müssen die entsprechenden Sicherheitsregeln so konfiguriert werden, dass Webhook-Aufrufe von Mollie an den Shop-Server freigegeben werden (z.B. durch eine Ausnahme für den entsprechenden Endpunkt).

Der Endpunkt für die Webhook-Aufrufe setzt sich aus der Shop-URL und Parametern zusammen und hat die Form:


https://SHOP-URL?mollie=1&hash=xxx


Wende dich diesbezüglich am besten an deinen JTL Servicepartner.



Tags: