Delivery Attempts and Retries
We understand any server can be degraded, unavailable, or outage under very rare circumstances. Xendit provides automatic and manual retry features to help you to reconcile webhook events after an incident has been resolved on your end. We also send out an email of your webhook health traffic/statistics periodically that you can subscribe to.
Automatic Retry
Webhook automatic retry feature is automatically activated for all users upon sign up. You can choose to disable/enable the feature in Callback Settings
info
Auto-retry feature will automatically retry present and future events. Past failed events won’t be retried by auto-retry.
info
Auto-retry will not retry any event with URL Not Set
and Timeout
status. Learn more about these statuses here. Kindly use manual retry if you need to resend the webhook.
When automatic retry is on, any failed events will be automatically retry for 24h with exponential backoff interval. The table below shows detail of interval between retries:
Retry Number | Interval (relative to last retry) | Interval (relative to original attempt) |
---|---|---|
1 | 15m | 15m |
2 | 45m | 1h |
3 | 2h | 3h |
4 | 3h | 6h |
5 | 6h | 12h |
6 | 12h | 24h |
For each event, you can check the next redelivery schedule in Callback tab. See View Events page for further guidance.
Manual Retry
Xendit also provides manual resend feature via Callback tab. This feature provides flexibility for users who want to cherry pick events that they want to retry.
info
A Developer user permission is required to resend event
To resend an event manually, simply visit the Callback tab, find the event, and click Resend. Any resend activities will be recorded alongside the timestamp and user name. Historical deliveries can be seen in Event History by clicking the event detail
- When a manual resend was triggered, the
Source
inEvent History
displaysuser name
who resend the event Source: Automatic
indicates that the event was delivered or retried automatically by system
Custom Retry
Webhook Custom Retry helps you to resend many webhooks based on your desired filter. With this feature, Webhooks are able to be filtered by date, webhook status, or product type, then you are able to resend all the filtered webhooks at once.
Use case of this feature is when your service or URL is down, and you need to resend all failed webhooks within specific time range. Then you can resend via Custom Resend
by selecting the period down time and FAILED
status. After clicking Apply Filter
, then you can see the number of webhooks and able to resend them.
info
The maximum webhook number that is able to be retried is 500. If the amount exceeds, we recommend adjusting the filter and resending the webhooks in multiple batches.
You can simply visit the feature in Callback tab, and see Custom Resend
in the corner of the page.
Periodic Email Notification
Xendit provides webhook summary via email every 6h that you can subscribe to. Email notification allows you to monitor your webhook traffic periodically on top of your monitoring system.
To enable this feature, users can visit their Email Recipient setting and enable Callback email reports
. You can also unsubscribe from the email anytime by unticking the feature.