Adyen-for-platform icon

View payout executions

You can view all payout executions of a managed payout schedule on your balance account.

View source

A payout initiated by a payout schedule is called an execution. You can view all executions of a managed payout schedule on your balance account in your Customer Area, or by making a Configuration API request.

Requirements

Before you begin, take into account the following requirements, limitations, and preparations:

Requirement Description
API credentials To view payout executions through API requests, your credential for the Configuration API must have the following role:
  • Bank Scheduled Payouts Merchant Role
Customer Area roles To view payout executions in your Customer Area, make sure that your user has the following roles:
Webhooks To track payout executions and the resulting funds movements, subscribe to the following webhooks:

View payout schedule executions in Customer Area

To view the executions of a managed payout schedule in your Customer Area:

  1. Go to Accounts & balances > Account holders, and search for the account holder.
  2. Open the Balance accounts tab and select the relevant balance account ID.
  3. Under Scheduled transfers, select the managed payout schedule.
    A managed payout schedule specifies the estimated arrival time of the payout, while a custom schedule specifies the transfer schedule.
  4. Open the Events tab to view the payout timeline, where you can:
    • View the date of the next payout.
    • Review past payout events, including execution dates and statuses.

Execution event statuses and reasons

The table below explains the statuses you may see in the Events tab for each pre-configured payout schedule:

Status Description Possible reasons
Sent The payout was successfully created and sent. n/a
Not sent The payout was not triggered as expected. The payout conditions were not met, for example, the balance was too low to pay out. No action is required.
Failed The payout schedule could not be sent because an error occurred. The payout failed due to an error. The external bank account may be closed or suspended, or the capability to send funds to the transfer instrument may be disabled due to missing Know Your Customer (KYC) checks. Payouts will continue to fail until the root cause is resolved.

View payout schedule executions using the API

To view the executions of a managed payout schedule applied to a balance account using the Configuration API:

  1. Make a GET  /balanceAccounts/{balanceAccountId}/payoutSchedules/{id}/executions request, specifying the balance account ID and the managed payout schedule ID in the path.

  2. The response includes the payoutScheduleExecutions array, which contains all the executions of the payout schedule.

Execution results and reasons

When a payout is supposed to be triggered according to the managed payout schedule, Adyen sends a webhook to notify you of the success or failure of the execution.

The webhook payload includes a result which corresponds to the webhook type.

Successful payout execution

If the execution is successful, Adyen sends a balancePlatform.balanceAccountPayoutScheduleExecution.succeeded webhook. The payload contains:

  • id: The unique identifier of the execution.
  • balanceAccountPayoutScheduleId: The unique identifier of the managed payout schedule.
  • resultDetails: An object containing the transferId of the resulting funds transfer.

Failed or skipped payout execution

If the execution is skipped or failed, the resultDetails object contains a reasonCode and a reason.

The following table contains all possible combinations of result and reasonCode values.

Result Reason code Reason
skipped noBalanceToPayOut No balance to pay out
skipped balanceBelowMinThreshold Payout amount is less than the configured minimum threshold
skipped disabledConfiguration Payout schedule / sweepConfiguration is already disabled
skipped manuallySkippedByAdyen Adyen blocked the payout
failed insufficientFundsToCoverPayout Insufficient funds in reserve account to cover collateralized payout
failed routeNotFound Routing failures during transfer initiation process
failed counterpartyAccountBlocked Counterparty account blocked
failed counterpartyAccountInvalid Counterparty account invalid
failed accountHierarchyNotActive Account hierarchy not active
failed transferInstrumentDoesNotExist Transfer instrument does not exist
failed missingCapabilities Missing capabilities
failed amountExceedsRouteLimits Amount exceeds route limits
failed amountFallsShortOfRouteLimits Amount falls short of route limits
failed amountInvalid Amount invalid
failed addressInvalid Address invalid
failed balanceAboveMaxThreshold Payout amount is more than configured maximum threshold

The following tabs show example webhooks for both skipped and failed executions.

Track fund movements

When a managed payout execution is successful, it triggers a funds transfer. To track the lifecycle of the funds as they move from the balance account to the bank account (transfer instrument) of your user, you can monitor the Transfer webhooks.

These webhooks provide real-time updates on the status of the funds movement, such as when the transfer is authorized, captured, or if it is eventually returned by the bank.

Testing

Before going live with managed payout schedules, we recommend that you test the scenarios described in the following table.

Test scenario Scenario description Expected outcome

Payout execution succeeded

The payout is processed successfully when:
  • The managed payout schedule is applied successfully to the balance account.

  • The balance account has enough available balance to complete the payout.

The execution result is reflected in your Customer Area. Additionally, you receive a webhook with details of the result.

To see the result in your Customer Area:
  1. Follow the steps to view payout executions.

  2. In the Events tab, verify that the execution has status Sent.

Additionally, verify that you receive a balancePlatform.balanceAccountPayoutScheduleExecution.succeeded webhook.

Payout execution skipped

The payout execution is skipped.

The execution result is reflected in your Customer Area. Additionally, you receive a webhook with details of the result.

To see the result in your Customer Area:
  1. Follow the steps to view payout executions.

  2. In the Events tab, verify that the execution has status Not Sent and a reason.

Additionally, verify that you receive a balancePlatform.balanceAccountPayoutScheduleExecution.skipped webhook. The webhook must include a resultDetails object with one of the possible combinations for skipped executions.

Payout execution failed

The payout execution fails.

The execution result is reflected in your Customer Area. Additionally, you receive a webhook with details of the result.

To see the result in your Customer Area:
  1. Follow the steps to view payout executions.

  2. In the Events tab, verify that the execution has status Failed and a reason.

Additionally, verify that you receive a balancePlatform.balanceAccountPayoutScheduleExecution.failed webhook. The webhook must include a resultDetails object with one of the possible combinations for failed executions.

Bank details for testing

Use the bank details in the following table to create transfer instruments to test your managed payout schedules.

Only use the following bank details in your TEST environment.

Country/region Payout currency Account identification type Details to use
AU AUD auLocal Account #: 102201111, BSB #: 012951
CA CAD/USD caLocal Account #: 10220001111, INST #: 004, TRN #: 00012
CH CHF iban IBAN: CH5204835012345671000
CZ CZK czLocal or iban Account #: 000192000145399, Bank code#: 0800, IBAN: CZ6508000000192000145399
DE EUR iban IBAN: DE14100100109876543210
DK DKK dkLocal or iban Account #: 67559844, Bank code#: 0685, IBAN: DK9206850067559844
ES EUR iban IBAN: ES9021034677010000000000
FR EUR iban IBAN: FR6410096000403534259742Y90
GB GBP iban or ukLocal Account #: 50000000, Sort code: 202678 IBAN: GB66BUKB20267850000000
HK HKD/USD hkLocal Account #: 790000000, Clearing code #: 250
HU HUF hkLocal or iban Account #: 117730161111101800000000, IBAN: HU42117730161111101800000000
IT EUR iban IBAN: IT58A0300203280198574967934
IR EUR iban IBAN: IE29AIBK93115212345678
NL EUR iban IBAN: NL57INGB4654188101
NO NOK noLocal or iban Account #: 86011117947, IBAN: NO9386011117947
NZ NZD nzLocal Account #: 010001011111601
PL PLN plLocal Account #: 61109010140000071219812874
RO RON iban IBAN: RO16RZBR6343423217922456
SE SEK seLocal or iban Account #: 0000003, Clearing code #: 5491
SG SGD sgLocal Account #: 9999, BIC #: CITISGSG
US USD usLocal Account #: 10220001111, Routing #: 121000248

See also