Zum Inhalt springen

API

Auf dieser Seite

Zustellung & Wiederholungen

Auf 11 Zustellversuche über rund 16 Stunden auslegen, wiederholte Ereignisse entdoppeln, Fehlschläge prüfen und nach der Wiederherstellung nachsenden.

Gibt Ihr Endpunkt einen Status außerhalb von 2xx zurück oder überschreitet er die Zeitgrenze von 10 Sekunden, wiederholt Paymos mit exponentiellem Backoff (Faktor 2). Bis zu 11 Versuche insgesamt (1 erster Versuch und 10 Wiederholungen) über rund 16 Stunden.

Zeitplan des Backoffs

Versuch Abstand zum vorherigen Kumulierter Abstand
1 sofort 0
2 1 Min. 1 Min.
3 2 Min. 3 Min.
4 4 Min. 7 Min.
5 8 Min. 15 Min.
6 16 Min. 31 Min.
7 32 Min. ~1 Stunde
8 1 Stunde ~2 Stunden
9 2 Stunden ~4 Stunden
10 4 Stunden ~8 Stunden
11 8 Stunden ~16 Stunden

Nach allen 11 Versuchen wird das Ereignis als fehlgeschlagen markiert. Fehlgeschlagene Ereignisse lassen sich aus dem Dashboard erneut senden — dabei wird der Versuchszähler zurückgesetzt und das Ereignis erneut zur Zustellung eingereiht.

Idempotenz

Die Zustellung erfolgt mindestens einmal. Doppelte Zustellungen sind bei Wiederholungen normal — Ihr Handler muss idempotent sein. Jede Zustellung trägt dieselbe stabile Kennung im Header X-Webhook-Id (und im Körper als event_id), unverändert über Wiederholungen und Nachsendungen — entdoppeln Sie darüber, ohne den Körper zu zerlegen. Speichern Sie verarbeitete Kennungen und behandeln Sie Wiederholungen als folgenloses 200 OK.

Was als erfolgreiche Zustellung zählt

  • HTTP-2xx-Antwort innerhalb von 10 Sekunden → Zustellung erfolgreich
  • HTTP 4xx oder 5xx → gilt als Fehlschlag, wird wiederholt
  • Verbindung abgelehnt, DNS-Fehler, TLS-Fehler → gilt als Fehlschlag, wird wiederholt
  • Antwort nach mehr als 10 Sekunden → gilt als Fehlschlag, wird wiederholt (Ihr Endpunkt verarbeitet das Duplikat möglicherweise trotzdem)

Antworten Sie mit 2xx, sobald das Ereignis auf Ihrer Seite gespeichert ist. Verlagern Sie aufwendige Verarbeitung in eine Hintergrundwarteschlange, damit der Webhook-Handler unter der Zeitgrenze bleibt.