This page explains how to make a payout request to transfer funds to Mastercard or Visa cards. In the following sections, you can see examples for one-off or recurring payouts.
After you make the payout request, you can track the status of the transfer by using webhooks.
Requirements
Before you begin, take into account the following requirements and preparations.
| Requirement | Description |
|---|---|
| Integration type | An Adyen payout service integration and our Checkout API for tokenization. |
| API credentials | Your API credential for balance platform (ws[_123456]@BalancePlatform.[YourBalancePlatform]) has the following roles to use with the Transfers API.
|
| Webhooks | Make sure that:
|
| Setup steps | Before you begin:
|
1. Initiate a payout
The following tabs show how to make one-off and recurring payments. If you are fully PCI compliant, you are allowed to make payout requests using raw card details. Otherwise, you must use tokenized card details in your request.
-
Review the response for confirmation details of the payout. The following tabs show examples of the responses that you receive after a successful request.
Process a payout in a future date
-
When you make a payout request, you can specify a future date when you want Adyen to process the payout. You can do this by including the executionDate object in the POST /transfers request.
If your payout request is successful, the payout remains in
statusreceived withreasonpending until the execution date. On the execution date, between 00:00 and 03:00 - based on the time zone configured on the Balance Platform by default - Adyen verifies that:- The source balance account has enough funds.
- The transfer was approved by a member of your team, if you triggered an additional review.
If all previous conditions are satisfied, Adyen processes the payout request.
Adyen attempts to process the payout only one time. In case of any errors, such as having insufficient funds in the balance account, the payout request ends with
statusfailed. If this happens, Adyen sends a webhook with details about the failure.To specify a future execution date, specify the following parameters:
Parameter name Required Description executionDate.date 
The date when the payout will be processed. This date must: - Be within 30 days of the current date.
- Be in the ISO 8601 format YYYY-MM-DD. For example: 2025-01-31.
executionDate.timezone The timezone that applies to the execution date. Use a timezone identifier from the tz database.
For example: America/Los_Angeles.
Default value: Europe/Amsterdam.The following code sample shows how to include the executionDate object in a payout request.
-
If the payout request is successful, you receive an HTTP 202 Accepted response with the payout details and the executionDate object.
2. Get updates on the status of the transfer
Track the transfer request by using the webhooks that Adyen sends to your server. You receive a webhook each time that the status of the request changes. For example, you receive webhooks when Adyen receives the request, when the transfer is authorised, and when the funds are booked and deducted from the balance account.
You can also use the Customer Area to view details of the transfer.
3. Test the payout flow
To test the payout flow with raw card details, make a POST /transfers request using our Visa test card and Mastercard test card details for the counterparty.card.cardIdentification fields.