Marketplace icon

Webhook structures and types for marketplaces

Learn which webhook types are sent for each event.

View source

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 funds movement (funds added to or deducted from balance accounts).

You can subscribe to the following webhooks:

  • Configuration
  • Payment method
  • Transfer
  • Negative balance warning
  • Report

You can also 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.

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 event 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.

Configuration webhooks

Configuration webhooks inform your system about events that occur with account holders, balance accounts, and payment instruments.

Account holders

Balance accounts

Managed payouts

Type Scope Description
balancePlatform.
balancePlatformPayoutSchedule.created
Balance platform A managed payout schedule was successfully created on your balance platform.
balancePlatform.
balancePlatformPayoutSchedule.updated
Balance platform A managed payout schedule was successfully updated on your balance platform.
balancePlatform.
balancePlatformPayoutSchedule.deleted
Balance platform A managed payout schedule was successfully deleted on your balance platform.
balancePlatform.
balanceAccountPayoutSchedule.created
Balance account A managed payout schedule was successfully created on a balance account.
balancePlatform.
balanceAccountPayoutSchedule.updated
Balance account A managed payout schedule was successfully updated on a balance account.
balancePlatform.
balanceAccountPayoutSchedule.deleted
Balance account A managed payout schedule was successfully deleted on a balance account.
balancePlatform.
balanceAccountPayoutScheduleAutoApplication.failed
Balance account A managed payout schedule could not be automatically applied a balance account.
balancePlatform.
balanceAccountPayoutScheduleExecution.succeeded
Payout execution A payout was successfully initiated based on the execution times in the managed payout schedule.
See the resultDetails for the transferId of the resulting funds movement.
balancePlatform.
balanceAccountPayoutScheduleExecution.skipped
Payout execution A payout was not triggered according to the schedule. This occurs when conditions are not met, for example, the balance is too low to pay out.
You can check the resultDetails for the reason why the payout was not triggered. However, no action is required.
balancePlatform.
balanceAccountPayoutScheduleExecution.failed
Payout execution A payout failed due to an error, for example, a configuration issue or missing capabilities.
You can check the resultDetails for the failure reason. Payouts will continue to fail until the root cause is resolved.

Custom payouts

Type Description
balancePlatform.balanceAccountSweep.created A custom payout schedule (sweep) was successfully created on a balance account.
balancePlatform.balanceAccountSweep.updated A sweep was successfully updated on a balance account.
balancePlatform.balanceAccountSweep.deleted A sweep was successfully deleted on a balance account.

Payment instruments

Type Description
balancePlatform.paymentInstrument.created A payment instrument, such as a debit card or an Adyen business account, was successfully created.
balancePlatform.paymentInstrument.updated A payment instrument, such as a debit card or an Adyen business account, was successfully updated.

Risk management

Type Description
balancePlatform.score.triggered A risk signal was triggered for the account holder. Reach out to your Adyen contact to enable sending this webhook type to your server.

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.
paymentMethodRequest.scheduledForRemoval 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.
paymentMethodRequest.removed 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 marketplace.

Type Description
balancePlatform.transfer.created A transfer request was created to credit funds to or deduct funds from a balance account in your marketplace. 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:

Event 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

Balance webhooks

Balance webhooks inform your system about balance changes that occur in the balance accounts of your balance platform.

Type Description
balancePlatform.balanceAccount.balance.updated A balance change occurred in a balance account of your balance platform.

Negative balance compensation warning webhooks

Negative balance compensation warning webhooks inform your system when a balance account in your marketplace has a negative balance, so you can take action.

Type Description
balancePlatform.negativeBalanceCompensationWarning.scheduled A balance account in your marketplace has had a negative balance for more than 20 days, and an automatic transfer from your marketplace's liable balance account is scheduled to compensate that negative balance.

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 funds 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 funds 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

Next steps

Learn which webhooks are sent for different scenarios.