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
4xxoder5xx→ 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.