The webhook specification allows you to receive instant notifications about payment status from the payment gateway. A callback object is sent in JSON, similar to what you would get in response to a typical API request. Below is the body of the Payment Gateway webhook.

API ARCHITECTURE: REST
API Method: POST
Endpoint: To be updated on the API settings.

To set up your webhook from the Merchant Portal, navigate to the Profile and Settings, select the API Integrations, and click "Setup Callback". Enter the URL, select the API from the dropdown and hit save.

JSON Request

{
  "id": "4f340000-d2d4-bec5-2307-08dc8460d262",
  "amount": 50,
  "chargedAmount": 50,
  "currency": "NGN",
  "customerEmail": "[email protected]",
  "narration": "Callback transaction",
  "status": "Paid",
  "transactionRef": "36934683_2338018bd8",
  "processorResponse": null,
  "createdAt": "0001-01-01T00:00:00",
  "paidAt": "2024-06-04T06:37:36.1141504",
  "ip": "102.89.46.13",
  "paymentType": "Card",
  "authorizationObject": null,
  "fees": 0,
  "meta": "Dev payment, new user"
}

Response

FieldTypeDescription
idStringUnique identifier for the transaction.
amountDecimalThe total amount of the transaction
chargedAmountDecimalThe actual amount charged for the transaction.
currencyStringThe currency in which the transaction is conducted (NGN, USD or GBP).
customerEmailStringEmail address of the customer making the transaction.
narrationStringA brief description or note about the transaction.
statusStringThe current state of the transaction. Possible values are Pending, Failed, and Paid.
transactionRefStringReference code for the transaction, useful for tracking and identification.
processorResponseStringResponse from the payment processor.
createdAtDateTimeThe timestamp when the transaction was created.
paidAtDateTimeThe timestamp when the transaction was done.
ipStringThe IP address from which the transaction was initiated.
paymentTypeStringThe method of payment used for the transaction (e.g., Card or BankTransfer).
authorizationObjectObectContains details related to the authorization of the transaction, null if not applicable.
feesDecimalAny fees associated with the transaction, in the smallest unit of the currency.
metaStringAdditional metadata about the transaction, useful for custom information.