Webhooks testen und debuggen

23. Juli 2026 · 4 Min. Lesezeit

Das klassische Webhook-Problem: Entweder es funktioniert, oder es passiert nichts – und du weißt nicht, welche Seite versagt hat. Diese vier Techniken machen aus der Blackbox etwas Einsehbares.

1. Sehen, was wirklich ankommt

Bevor du Code schreibst, schau dir den rohen Request an. Inspektionsdienste (webhook.site, RequestBin, Beeceptor und Konsorten) geben dir eine temporäre URL und zeigen jeden eingehenden Request mit Headern und Body. Diese URL beim sendenden Dienst eintragen, Ereignis auslösen, Payload lesen. Zwei Minuten, und du weißt genau, womit du es zu tun hast.

2. localhost aus dem Internet erreichbar machen

Deine Entwicklungsmaschine hat keine öffentliche URL – Tunnel schließen die Lücke:

# ngrok
ngrok http 3000        → https://a1b2c3.ngrok-free.app

# cloudflared
cloudflared tunnel --url http://localhost:3000

Die Tunnel-URL als Webhook-URL eintragen, und die Ereignisse landen in deinem lokalen Debugger. Hinweis: Gratis-Tunnel-URLs ändern sich bei jedem Neustart – du wirst sie öfter neu einfügen.

3. Erneut senden statt neu auslösen

Die meisten Anbieter führen ein Zustellprotokoll mit Request, Response und Status – GitHub unter Recent Deliveries, Stripe in der Ereignisliste des Dashboards. Beide erlauben, ein vergangenes Ereignis erneut zuzustellen. Das ist der Unterschied zwischen „Zahlungsablauf mit 20 Testkäufen debuggen“ und „mit einem“.

Stripes CLI geht weiter und leitet Live-Events direkt auf localhost:

stripe listen --forward-to localhost:3000/webhook

4. Eigenen Test-Request feuern

Um deinen Endpoint unabhängig vom Anbieter zu prüfen:

curl -X POST https://dein-endpoint.example.com/hook \
  -H "Content-Type: application/json" \
  -d '{"event":"test","message":"hallo"}' -i

Das -i zeigt die Response-Header – du siehst also deinen eigenen Statuscode, und der ist wichtiger, als die meisten denken (Statuscode-Guide).

Der schnellste Rauchtest überhaupt

Manchmal willst du nur wissen: Feuert dieser Dienst überhaupt, und wann? Leg den Webhook auf einen Webhooky-Endpoint (Android / iOS) – dein Handy klingelt in dem Moment, in dem ein Ereignis rausgeht. Kein Tunnel, kein Server, kein Log. Rufst du die Endpoint-URL im Browser auf, bekommst du sogar eine Testseite mit Feldern für Titel, Text und Sound.

Wenn gar nichts ankommt

  • Ist die URL HTTPS und öffentlich erreichbar? (Viele Dienste verweigern reines HTTP stillschweigend.)
  • Hast du die richtigen Ereignisse abonniert? Ein „Push“-Webhook feuert nicht bei einem Release.
  • Zeigt das Zustellprotokoll des Anbieters Versuche? Wenn ja, liegt es an deiner Seite – wenn nein, an der Konfiguration.
  • Antwortest du schnell genug? Timeouts erscheinen oft als „fehlgeschlagen“, obwohl dein Code lief.

Hol dir Webhooky

Kostenlos für deine ersten 100 Benachrichtigungen – Endpoint in zwei Minuten eingerichtet.

Jetzt bei Google Play Laden im App Store