2xx response
is retried automatically on an exponential-backoff schedule.
Duplicate and out-of-order deliveries are possible.
Retry schedule
Failed deliveries are retried with increasing delays. The platform uses exponential backoff with the following default intervals after the initial attempt:
All attempts are exhausted within roughly 10 hours. After the final attempt, the event stops retrying automatically. Use the manual retrigger to redeliver it.
A delivery is considered failed when your endpoint returns a non-
2xx status or does not respond within 15 seconds.
Handling deliveries
Your endpoint should:- Verify the signature against the raw body.
- Persist the event under a unique constraint on its envelope
id. - Return
2xxquickly after durable acceptance. - Process slow business work asynchronously.
- Ignore a duplicate
idwithout repeating side effects.
Manual retrigger
POST /v1/webhook_events/{id}/retrigger resubmits the persisted canonical
payload. It does not rebuild or mutate the event. Ownership and API-key scope
checks still apply.
SUBMITTED means the event was accepted for delivery, not confirmed
merchant receipt. See Payment Webhooks overview.