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 TypeWebhook Type
PaymentAny changes in the Payment Transaction Status
Payment3DS completion data for conducting 3DSv2 challenge
DisbursementAny changes in the Disbursement Transaction Status
RefundAny 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:

AttemptDelay Before Attempt
1stImmediate
2nd1 minute
3rd5 minutes
4th15 minutes
5th1 hour
6th3 hours
7th6 hours
8th12 hours
9th24 hours
10th48 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

  • No further attempts are made.
  • The webhook is marked as completed.

Failure Conditions

  • Non-2xx HTTP status (4xx, 5xx)
  • Network error (DNS failure, TLS error, connection refused, etc.)
  • Timeout (no response within the configured timeout window)
  • The retry process continues according to the schedule listed above.