Webhook Behaviour

Webhook structure

Our webhook structure is divided into two main components:

  1. Metadata: Provides details about the webhook attempt, including the following fields:
requestIdA unique version 4 UUID identifying the attempt to send the webhook event. For retry attempts, the requestId remains the same.
merchantIdIdentifier for the merchant relevant to the event.
eventTypeSpecifies the type of event associated with the webhook.
createdOnTimestamp of when the webhook notification was first created. This value remains unchanged across retries.
  1. Business data: Contains information specific to the event, such as invoice creation or failure details. This data is sent within a data object. Please see the sample events response for examples of different data objects.

Scheduling and retries

Webhooks are sent immediately when an event occurs in Ezypay's system. If delivery fails, retries are scheduled as follows:

  • Retry Interval: Every 60 minutes
  • Maximum Retries: Up to 24 times

A webhook is considered "failed" if:

  1. No response is received (i.e., the request times out).
  2. The response is not 2xx.

In both scenarios, the attempt will be flagged as failed, and the webhook will be retried according to the schedule.