On this page, you'll find information about:
- The general notification structure.
- The types of notifications.
You'll also learn about which notification types are sent based on which event.
Notification structure
In general, the body of a notification 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 notification type. |
The information contained in the data
object varies and depends on the notification 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.
{
"data": {
"balancePlatform": "YOUR_BALANCE_PLATFORM",
"accountHolder": {
"contactDetails": {
"address": {
"country": "NL",
"houseNumberOrName": "274",
"postalCode": "1020CD",
"street": "Brannan Street"
},
"email": "s.hopper@example.com",
"phone": {
"number": "+315551231234",
"type": "Mobile"
}
},
"description": "S.Hopper - Staff 123",
"id": "AH32272223222B5CZW6QZ2V34",
"status": "Active"
}
},
"environment": "test",
"type": "balancePlatform.accountHolder.created"
}
Notification 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 notification types also include a data.status
field that informs you of the outcome of the event.
Accounting notifications
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 |
Configuration notifications
Type | Description | |
---|---|---|
balancePlatform.accountHolder.created | An account holder was successfully created. | |
balancePlatform.accountHolder.updated | An account holder was successfully updated. | |
balancePlatform.balanceAccount.created | A balance account was successfully created. | |
balancePlatform.paymentInstrument.created | A payment instrument was successfully created. | |
balancePlatform.paymentInstrument.updated | A payment instrument was successfully updated. | |
balancePlatform.balanceAccountSweep.created | A balance account sweep was successfully created. | |
balancePlatform.balanceAccountSweep.deleted | A balance account sweep was successfully deleted. | |
balancePlatform.balanceAccountSweep.updated | A balance account sweep was successfully updated. |
Payment notifications
Type | Description |
---|---|
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 |
Report notifications
Type | Description |
---|---|
balancePlatform.report.created | A report was generated and is ready to be downloaded. |
Some events trigger a set of notification webhooks. For example, when moving funds between two balance accounts, Adyen sends two sets of webhooks—one for the source and one for the destination balance account. To know more about which notification types are sent based on scenarios, refer to the links below.