πŸ“£ New Region Unlocked: You can now send payouts directly to Canada! πŸ‡¨πŸ‡¦
πŸ”— Webhooks
πŸ’Έ Payout Webhook

Webhook Event: payout.completed (NGN to NGN)

Webhook payload when a payout is completed successfully.

{
  "event": "payout.completed",
  "data": {
    "id": "9099c245-350a-4d58-xxxxxxxxxxx",
    "referenceNumber": "YOBQ8OXXXXX",
    "type": "SEND",
    "state": "COMPLETED",
    "quote": {
      "id": "0463d13a-354b-489c-ae57-xxxxxxxxxxxx",
      "source": {
        "currency": "NGN",
        "country": "NG",
        "amount": 90000
      },
      "target": {
        "currency": "NGN",
        "country": "NG",
        "amount": 90000
      },
      "rate": 1,
      "fee": {
        "amount": 100
      },
      "summary": {
        "total": 90100
      }
    },
    "recipient": {
      "name": "OMOLOKUN OMOYEMI",
      "account": {
        "bankName": "Guaranty Trust Bank",
        "sortCode": "058",
        "accountNumber": "00104096XX"
      },
      "currency": "NGN",
      "country": "NG",
      "stored": false
    },
    "created": "2025-05-19T16:13:33.401911",
    "processed": "2025-05-19T16:14:06.964998699"
  }
}

Payload Breakdown

The top-level event field identifies the webhook type. All transaction details are nested within the data object.


data Object

This is the main object containing all the information about the payout.

FieldTypeDescription
idstringThe unique identifier for the payout transaction.
referenceNumberstringAn internal reference code for tracking the payment.
typestringThe type of payout. For this event, it will be SEND.
statestringThe final status of the transaction (e.g., COMPLETED).
quoteobjectAn object containing the detailed financial breakdown of the transaction.
recipientobjectAn object containing information about the person receiving the funds.
createdtimestampThe timestamp when the payout was initiated.
processedtimestampThe timestamp when the payout was successfully completed.

quote Object

This object details the financial aspects of the transaction.

FieldTypeDescription
quote.idstringThe unique identifier for this specific financial quote.
quote.sourceobjectAn object detailing the funds being sent (currency, country, amount).
quote.targetobjectAn object detailing the funds being received (currency, country, amount).
quote.ratenumberThe conversion rate. This will always be 1 for same-currency transfers.
quote.fee.amountnumberThe fee charged for processing the transaction.
quote.summary.totalnumberThe total amount debited from the sender (source.amount + fee.amount).

recipient Object

This object provides all necessary details about the receiver of the funds.

FieldTypeDescription
namestringThe full name of the recipient.
account.bankNamestringThe name of the recipient's bank (e.g., "Guaranty Trust Bank").
account.sortCodestringThe Nigerian NIP bank code. For example, '058' is the code for GTB.
account.accountNumberstringThe recipient's 10-digit NUBAN account number.
currencystringThe currency the recipient receives (e.g., NGN).
countrystringThe recipient's country code (e.g., NG for Nigeria).
storedbooleanIndicates if the recipient's details were saved for future use.

payout.pending OR payout.failed

This payload is sent when a payout request is created but still in progress (not yet completed or failed).

{
  "event": "payout.pending",
  "data": {
    "id": "8b99b9d8-998a-48db-9102-xxxxxxxxxxxxx",
    "referenceNumber": "RRT6CBX1NMGUJ",
    "type": "SEND",
    "state": "PENDING",
    "quote": {
      "id": "68d2bae4-7365-42fc-bbc2-xxxxxxxxxxxxx",
      "source": { "currency": "NGN", "amount": 3000 },
      "target": { "currency": "CNY", "amount": 13.62 },
      "rate": 220.3431138,
      "fee": { "amount": 5 },
      "summary": { "total": 3005 }
    },
    "recipient": {
      "name": "Zui len",
      "account": { "sortCode": "", "accountNumber": "8612343562723", "branchCode": "" },
      "currency": "CNY",
      "country": "CN",
      "stored": false
    },
    "created": "2025-03-13T15:28:37.258Z",
    "processed": "2025-03-13T15:28:37.258Z"
  }
}

Payload structure and field definitions are the same as in payout.completed.