Definition
Ein Webhook ist eine Benachrichtigung von Server zu Server: Wenn bei einem Dienst (Zahlungs-Gateway, Drittanbieter-API) ein Ereignis eintritt, sendet dieser Dienst eine HTTP-POST-Anfrage an eine von Ihnen angegebene URL, die Details zum Ereignis enthält. Webhooks ermöglichen eine asynchrone Integration zwischen Systemen in Echtzeit, ohne ständiges Abfragen.
Für die Abonnement-Abrechnung sind Webhooks unverzichtbar: Gateways informieren Ihren Shop, wenn Belastungen gelingen, fehlschlagen oder erstattet werden — und viele dieser Ereignisse geschehen ohne jede Nutzeraktion (Verlängerungen, Wiederholungsversuche, asynchrone Entscheidungen der Bank).
Warum das für WooCommerce-Shops wichtig ist
Ohne Webhooks läuft der Abonnementstatus in Ihrem Shop aus dem Takt mit dem Status im Zahlungs-Gateway. Eine Verlängerungsbelastung gelingt um 2:00 Uhr, doch Ihr Shop erfährt davon erst am nächsten Tag, wenn Sie das Gateway-Dashboard manuell prüfen.
Die Karte eines Kunden wird über das Selbstbedienungsportal des Gateways aktualisiert, doch Ihr Shop zeigt weiterhin die alte Karte. Webhooks machen all das automatisch und in Echtzeit.
Für WooCommerce-Abonnementshops entscheiden korrekt konfigurierte Webhooks darüber, ob die Abrechnung automatisiert läuft oder zum manuellen Abstimmungsalbtraum wird. Falsch konfigurierte Webhooks sind die häufigste Ursache von Abonnementfehlern — stille Fehlschläge, bei denen das Gateway belastet hat, Ihr Shop das aber nicht abbildet.
So funktioniert es
Sie registrieren im Dashboard Ihres Gateways eine Webhook-URL (etwa ihreseite.de/wc-api/wc_stripe). Tritt beim Gateway ein Ereignis ein (payment_intent.succeeded, customer.subscription.updated), sendet das Gateway eine HTTP-POST-Anfrage an Ihre URL mit einer JSON-Nutzlast, die das Ereignis beschreibt.
Ihr Shop prüft die Signatur der Anfrage (der Nachweis, dass sie vom Gateway stammt und nicht von einem Angreifer), verarbeitet das Ereignis (Abonnement verlängern, E-Mail senden, Datenbank aktualisieren) und antwortet mit 200 OK. Erhält das Gateway einen Fehler oder keine Antwort, wiederholt es die Zustellung mit exponentiell wachsenden Abständen über Stunden oder Tage.
Beispiel aus der Praxis
Eine Stripe-Abonnementverlängerung wird am Freitag um 2:00 Uhr ausgelöst. Stripe verarbeitet die Belastung über 39 $ — erfolgreich.
Stripe sendet ein Webhook-Ereignis `invoice.payment_succeeded` an `https://store.com/wc-api/wc_stripe` mit einer Nutzlast, die Abonnement-ID, Betrag und Zeitstempel enthält. WPSubscription empfängt es, prüft die Signatur gegen das Stripe-Webhook-Geheimnis, verlängert das Abonnement um 30 Tage, erzeugt in WooCommerce eine Verlängerungsbestellung und stellt eine Quittungs-E-Mail in die Warteschlange.
Der Kunde wacht am Freitagmorgen auf und findet eine Quittung vor — alles ausgelöst durch den Webhook, während er schlief.
Bewährte Vorgehensweisen
- Prüfen Sie stets die Webhook-Signaturen — die Verarbeitung unsignierter Webhooks ist eine Sicherheitslücke
- Machen Sie Webhook-Handler idempotent — dasselbe Ereignis zweimal zu empfangen muss unschädlich sein
- Antworten Sie innerhalb von 5 Sekunden — lang laufende Handler führen zu Zeitüberschreitungen und Wiederholungen
- Protokollieren Sie jeden Webhook zur Fehlersuche — Wiederholungen des Gateways können Probleme verdecken
- Nutzen Sie die Test-Ereignisse aus den Gateway-Dashboards, um die Integration zu überprüfen
Häufige Fehler
- Webhook-Signaturen nicht zu prüfen — ein Sicherheitsrisiko und eine Quelle von Integrationsfehlern
- Lang laufende Webhook-Handler mit Zeitüberschreitung — Gateways wiederholen dann und verursachen doppelte Verarbeitung
- Wiederholungsereignisse nicht zu behandeln — ein Webhook kann für dasselbe Ereignis mehrfach ausgelöst werden
- Produktive Webhook-URLs im Testmodus fest zu verdrahten — Ereignisse landen in der falschen Umgebung
- Fehlgeschlagene Webhook-Zustellungen in den Gateway-Dashboards zu ignorieren — stille Fehlschläge zerstören die Datenintegrität
In WooCommerce mit WPSubscription
WPSubscription empfängt Gateway-Webhooks an den standardisierten WooCommerce-Endpunkten (/wc-api/wc_stripe, /wc-api/wc_paypal und weitere). Das Plugin übernimmt Signaturprüfung, Ereignisverarbeitung und Wiederholungslogik für jedes unterstützte Gateway automatisch.
Falsch konfigurierte Webhooks sind die häufigste Ursache von Abonnementfehlern — prüfen Sie die Webhook-Einrichtung daher immer bei der ersten Gateway-Anbindung.
Passende Schritt-für-Schritt-Anleitungen
Stripe in WooCommerce-Abonnements integrieren
Verbinden Sie Stripe mit WPSubscription für zuverlässige wiederkehrende Abrechnung, Webhooks und die Rückgewinnung von Zahlungen.
PayPal-Abonnements in WooCommerce einrichten
Aktivieren Sie mit WPSubscription die wiederkehrende Abrechnung über PayPal für WooCommerce-Abonnements.
