Webhooks: Overview
Overview
- Webhooks are a core mechanism used by the platform to notify clients about important events in real time.
- Instead of repeatedly polling our API, clients can receive asynchronous updates whenever a relevant event occurs.
- Each webhook is sent directly to the URL provided by the client during request creation. We never modify or rewrite these URLs.
Webhooks are delivered as standard HTTPS POST requests containing structured JSON payloads. Any system capable of receiving HTTP requests can process these callbacks.
Types of Webhooks We Provide
Currently, the platform supports the following webhook categories:
| Transaction Type | Webhook Type |
|---|---|
| Payment | Any changes in the Payment Transaction Status |
| Payment | 3DS completion data for conducting 3DSv2 challenge |
| Disbursement | Any changes in the Disbursement Transaction Status |
| Refund | Any changes in the Refund Transaction Status |
How Webhooks Work
1. Client Defines the Webhook URL
During the creation of an intent or refund, the client specifies where webhooks should be delivered. We use these URLs exactly as provided - without modifications, normalization, or transformation.
2. Event Occurs
When the system registers a transaction status update or 3DSv2 challenge event, it generates a webhook payload.
3. Webhook Send Attempt
The platform attempts to POST the webhook to the client’s URL.
4. Success or Retry Logic
If the client acknowledges the webhook with an HTTP 2xx response, the delivery is considered successful.
If not, retries are performed according to the schedule below.
Webhook Delivery and Repeat Sending (Retry Mechanism)
- To ensure reliable delivery, the platform implements multiple attempts if the client cannot accept the webhook immediately.
- We follow a deterministic retry schedule and do not retry indefinitely.
Retry Schedule
The system will attempt to deliver each webhook up to 10 times, according to the following timeline:
| Attempt | Delay Before Attempt |
|---|---|
| 1st | Immediate |
| 2nd | 1 minute |
| 3rd | 5 minutes |
| 4th | 15 minutes |
| 5th | 1 hour |
| 6th | 3 hours |
| 7th | 6 hours |
| 8th | 12 hours |
| 9th | 24 hours |
| 10th | 48 hours |
After the 10th attempt, delivery is stopped permanently.
Delivery Conditions
Case | Conditions | Next Actions |
|---|---|---|
Success Conditions | The client returns an HTTP 2xx status code |
|
Failure Conditions |
|
|
Updated 3 days ago
