For the complete documentation index, see llms.txt. This page is also available as Markdown.

Webhooks

Two types of the webhooks

The primary triggers for all webhooks are status changes in payments, withdrawals, deposits, or conversions. For example, a webhook is sent when a withdrawal status changes from PENDING to CONFIRMED.

There are two types of webhooks in Flash Payments.

  • Regular webhooks - a URL would need to be saved to your FlashConnect settings. Supports all types of events.

    • You can browse the history of all the webhook HTTP requests and your server responses, their JSON bodies and headers.

    • If there is no response we will show you what exactly the problem is: DNS issue, networking issue, 5XX response, etc.

    • You can receive webhooks when a deposit lands to your Virtual Account Number (VAN).

  • Ad hoc webhooks - you would need to provide a callback URL per each payment/withdrawal/conversion while creating them.

The webhooks HTTP POST calls will follow all the standard HTTP redirects (3XX codes).

Security

Cryptographic signature

All webhook HTTP requests carry a cryptographic signature. Ad hoc and regular webhooks do it slightly different though.

Headers

Each request will contain at least these 4 headers:

content-type: application/json
user-agent: FlashFX
flashfx-request-id: [A unique ID of this particuar event]
flashfx-signature: [The cryptographic signature]

Flash Payments webhook request IP address

All webhook HTTP requests would be coming from these IP addresses:

  • UAT environment: 52.64.185.170 and 13.210.129.208

  • Production environment: 52.62.138.234 and 52.65.3.195

Example payloads

Deposits

deposit_initiated
deposit_reviewing
deposit_cleared
deposit_cancelled
deposit_refunding
deposit_refunded

Withdrawals

withdrawal_initiated
withdrawal_reviewing
withdrawal_pending
withdrawal_completed
withdrawal_failed
withdrawal_refunded
withdrawal_cancelled

Payments

currency_converted
payment_complete
payment_failed
payment_cancelled
payment_created

Conversions

conversion_initialised
conversion_pending
conversion_converted
conversion_failed
conversion_cancelled

Sub-clients

subclient_initiated
subclient_active
subclient_unapproved
subclient_failed_kyc
subclient_deactivated
subclient_disabled

Adverse Media Search

ams_initialised
ams_pending
ams_completed
ams_failed

Request for Information (RFI)

rfi_created
rfi_assessing
rfi_closed
rfi_cancelled

Last updated

Was this helpful?