On this page, you'll find information about:
- The general webhook structure.
- The types of webhooks.
You'll also learn about which webhook types are sent based on which event.
Webhook structure
In general, the body of a webhook contains the following objects.
Parameter | Data type | Description |
---|---|---|
data |
Object | Object that contains information about the event. |
environment |
String | The environment where the transaction was processed—test or live. |
type |
String | The webhook type. |
The information contained in the data
object varies and depends on the webhook type. You can find the full schema for each type in API Explorer.
Below is an example request body for a webhook of type
balancePlatform.accountHolder.created.
Webhook types
Webhooks are typically sent when:
- A resource was created or updated.
- A request was initiated (such as a payment authorisation request, a refund request, or a funds transfer request).
- There was a fund movement (funds added to or deducted from balance accounts).
You can differentiate the events based on the type
. Some webhook types also include a data.status
field that informs you of the outcome of the event.
Configuration webhooks
Configuration webhooks inform your system about events that occur with account holders, balance accounts, and payment instruments.
Payment method webhooks
Payment method webhooks inform your system about payment method creation and removal requests, and the removal of a payment method request.
Type | Description |
---|---|
paymentMethod.created | A payment method creation request has been processed. The content informs you on the final state of the request. |
paymentMethod.requestScheduledForRemoval | A payment method request is scheduled for removal A request to add a payment method will be removed in 30 days. To make sure the payment method is added, provide the missing KYC information. |
paymentMethod.requestRemoved | A request to add a payment method is removed. You must make another request to add a payment method. |
Transfer webhooks
Transfer webhooks inform your system about incoming and outgoing transfers in your platform.
Type | Description |
---|---|
balancePlatform.transfer.created | A transfer request was created to credit funds to or deduct funds from a balance account in your platform. The content informs you of the event that triggered the transfer request, such as a payment or refund. |
balancePlatform.transfer.updated | A transfer request's status changed. |
You can identify transfer webhooks sent for different events by checking the following parameters and values:
category | type | counterparty | |
---|---|---|---|
Payment or capture | platformPayment | capture | |
Refund | platformPayment | refund | |
Chargeback | platformPayment | chargeback | |
Payout | bank | bankTransfer | transferInstrumentId |
Internal transfer | internal | internalTransfer | balanceAccountId |
Third-party bank transfer | bank | bankTransfer | bankAccount |
Report webhooks
Report webhooks inform your system when a report is generated and ready to be downloaded.
Type | Description |
---|---|
balancePlatform.report.created | A report was generated and is ready to be downloaded. |
Payment webhooks (deprecated)
Payment webhooks are deprecated. Use the transfer webhooks instead.
Type | Description |
---|---|
balancePlatform.incomingTransfer.created | There are funds that will be added to the balance account because of a pending refund or a fund transfer. Possible statuses: PendingIncomingTransfer |
balancePlatform.incomingTransfer.updated | Funds were added to a balance account because of a refund or a funds transfer. Possible values: Refunded, IncomingTransfer |
balancePlatform.outgoingTransfer.created | Funds were deducted from a balance account because of a payment capture or a funds transfer. Possible statuses: Captured, OutgoingTransfer |
balancePlatform.outgoingTransfer.updated | There was an update after funds were deducted from a balance account. For example, the fund transfer to a transfer instrument failed. Possible statuses: TransferConfirmed, TransferSentOut, or TransferFailed |
balancePlatform.payment.created | A payment authorisation, a refund, or a funds transfer has been initiated. Possible statuses: Authorised, Refused, Error |
balancePlatform.payment.updated | A payment authorisation has expired or has been cancelled. Possible statuses: Expired, Cancelled |