--- title: "View payout transfer details" description: "View information about the payout-related transfers occurring in your marketplace." url: "https://docs.adyen.com/marketplaces/view-payout-transfers-details" source_url: "https://docs.adyen.com/marketplaces/view-payout-transfers-details.md" canonical: "https://docs.adyen.com/marketplaces/view-payout-transfers-details" last_modified: "2026-05-19T18:02:48+02:00" language: "en" --- # View payout transfer details View information about the payout-related transfers occurring in your marketplace. [View source](/marketplaces/view-payout-transfers-details.md) ##### Best practice: Webhooks Track transfers by listening to [webhooks](/development-resources/webhooks/configure-and-manage). This page explains how to view payout-related transfer details using your [Customer Area](https://ca-test.adyen.com/) and the [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview). In your balance platform, transfers represent funds that are credited or debited from a balance account. Before any money movement occurs, payout-related transfers must be: 1. **Initiated** according to your [managed](/marketplaces/managed-payouts) or [custom](/marketplaces/custom-payouts/scheduled-payouts) payout schedule configuration, [cashout](/marketplaces/cash-out-instantly), or [on-demand payout](/marketplaces/custom-payouts/on-demand-payouts) request. 2. **Authorized** by Adyen. 3. **Booked**. You can track the status and details of transfers to support your business operations. For recurring operations, such as [scheduled payouts](/marketplaces/managed-payouts), we recommend that you listen to [webhooks](/development-resources/webhooks/configure-and-manage). In other cases, you can view transfer details by using the **Transfers** page in your [Customer Area](https://ca-test.adyen.com/) or by making a GET [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers) request. ## Requirements Before you begin, take into account the following requirements | Requirement | Description | | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | **Integration type** | You must have an Adyen for Platforms integration. | | **[API credential roles](/development-resources/api-credentials/roles/)** | Make sure that you have the following role:- **TransferService Webservice Retrieve role** | | **[Customer Area roles](/account/user-roles)** | Make sure that you have the following role:- **Balance platform base role** | ## View a list of transfers You can view the list of transfers in your marketplace by using your [Customer Area](https://ca-test.adyen.com/) or by making a GET [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers) request. ### Tab: Customer Area To view a list of transfers in your [Customer Area](https://ca-test.adyen.com/): 1. Go to **Transactions** > **Transfers**. 2. Use the **Balance platform** filter to find the accounts you need. You can only see results from one **Balance platform** at a time. With filters, you can tailor the list of transfers based on the date, status, or reference numbers. This helps to highlight transfers with refusal problems. ** ### Example — View rejected payouts For example, to see a list of payouts rejected by counterparty banks within a certain period, set the following filters: * **Date**: set a date range. * **Type**: select **Bank transfer**. * **Status**: select **Failed**. ### Tab: Transfers API To get a list of transfers, make a GET [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers) request including the query parameters in the following table: | Query parameter | Required | Description | | | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | [createdSince](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#query-createdSince) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Specifies that the response must include transfers created **after** this date. This date must be less than 6 months from the `createdUntil` date. The date must be in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example: `2026-05-12T15:00:00+01:00`. | | | [createdUntil](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#query-createdUntil) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Specifies that the response must include transfers created **before** this date. This date must not be greater than 6 months from the `createdSince` date. The date must also be in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example: `2026-05-13T15:00:00+01:00`. | | | [balanceAccountId](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#query-balanceAccountId) | | Limits the returned list to the transfers related to the specified balance account ID. | | | [accountHolderId](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#query-accountHolderId) | | Limits the returned list to the transfers related to the specified account holder ID. | | | [limit](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#query-limit) | | The number of transfers returned per page. | | You must provide at least one of the unique identifiers in your request. The following example shows a GET [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers) request for a list that includes: * Transfers created after **May 12, 2025 at 3:00 PM**, but before **May 13, 2026 at 3:00 PM**. * A limit of **5** transfers per page. **Example GET /transfers request** #### curl ```bash curl https://balanceplatform-api-test.adyen.com/btl/v4/transfers?createdSince=2026-05-12T15:00:00Z&createdUntil=2026-05-13T15:00:00Z&limit=5 \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X GET \ -d '' ``` #### Java ```java // Adyen Java API Library v33.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.transfers.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.transfers.*; Client client = new Client("ADYEN_BALANCE_PLATFORM_API_KEY", Environment.TEST); // Send the request TransfersApi service = new TransfersApi(client); FindTransfersResponse response = service.getAllTransfers("String", "String", "String", "String", "String", "String", LocalDateTime.parse("2026-05-12T15:00:00");, LocalDateTime.parse("2026-05-13T15:00:00");, "String", 1, null); ``` #### PHP ```php setXApiKey("ADYEN_BALANCE_PLATFORM_API_KEY"); $client->setEnvironment(Environment::TEST); $requestOptions['queryParams'] = array('balancePlatform' => 'string', 'accountHolderId' => 'string', 'balanceAccountId' => 'string', 'paymentInstrumentId' => 'string', 'reference' => 'string', 'category' => 'string', 'createdSince' => 'date-time', 'createdUntil' => 'date-time', 'cursor' => 'string', 'limit' => 'integer'); // Send the request $service = new TransfersApi($client); $response = $service->getAllTransfers($requestOptions); ``` #### C\# ```cs // Adyen .net API Library v27.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Transfers; using Adyen.Service.Transfers; var config = new Config() { XApiKey = "ADYEN_BALANCE_PLATFORM_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new TransfersService(client); var response = service.GetAllTransfers(balancePlatform: "string", accountHolderId: "string", balanceAccountId: "string", paymentInstrumentId: "string", reference: "string", category: "string", createdSince: DateTime.Parse("2026-05-12T15:00:00"), createdUntil: DateTime.Parse("2026-05-13T15:00:00"), cursor: "string", limit: 1); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v23.3.0 const { Client, TransfersAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", environment: "TEST" }); // Send the request const transfersAPI = new TransfersAPI(client); const response = transfersAPI.TransfersApi.getAllTransfers("string", "string", "string", "string", "string", "string", Date.now(), Date.now(), "string", 1); ``` #### Go ```go // Adyen Go API Library v16.3.0 import ( "context" "github.com/adyen/adyen-go-api-library/v16/src/common" "github.com/adyen/adyen-go-api-library/v16/src/adyen" "github.com/adyen/adyen-go-api-library/v16/src/transfers" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.Transfers() req := service.TransfersApi.GetAllTransfersInput() req = req.BalancePlatform("string").AccountHolderId("string").BalanceAccountId("string").PaymentInstrumentId("string").Reference("string").Category("string").CreatedSince(DateTime.Parse("2026-05-12T15:00:00")).CreatedUntil(DateTime.Parse("2026-05-13T15:00:00")).Cursor("string").Limit(1) res, httpRes, err := service.TransfersApi.GetAllTransfers(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.3.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_BALANCE_PLATFORM_API_KEY" adyen.client.platform = "test" # The environment to use library in. query_parameters = { "balancePlatform" : "string", "accountHolderId" : "string", "balanceAccountId" : "string", "paymentInstrumentId" : "string", "reference" : "string", "category" : "string", "createdSince" : "date-time", "createdUntil" : "date-time", "cursor" : "string", "limit" : "integer" } # Send the request result = adyen.transfers.transfers_api.get_all_transfers(query_parameters=query_parameters) ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_BALANCE_PLATFORM_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) query_params = { :balancePlatform => 'string', :accountHolderId => 'string', :balanceAccountId => 'string', :paymentInstrumentId => 'string', :reference => 'string', :category => 'string', :createdSince => 'date-time', :createdUntil => 'date-time', :cursor => 'string', :limit => 'integer' } # Send the request result = adyen.transfers.transfers_api.get_all_transfers(query_params: query_params) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v23.3.0 import { Client, TransfersAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", environment: "TEST" }); // Send the request const transfersAPI = new TransfersAPI(client); const response = transfersAPI.TransfersApi.getAllTransfers("string", "string", "string", "string", "string", "string", Date.now(), Date.now(), "string", 1); ``` The response contains the following parameters: | Response parameter | Description | | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | [data](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#responses-200-data) | An array that contains all the transfers that match the query parameters. | | [\_links](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#responses-200-_links) | An object that contains links to the next or previous page, when applicable. | **Example GET /transfers response** ```json { "data": [ { "balancePlatform": "YOUR_BALANCE_PLATFORM", "creationDate": "2023-10-12T15:43:28+02:00", "id": "3JNC3P60KGBMOGA0", "accountHolder": { "description": "Your description for the account holder", "id": "AH00000000000000000000001" }, "amount": { "currency": "EUR", "value": 110 }, "balanceAccount": { "description": "Your description for the balance account", "id": "BA00000000000000000000001" }, "category": "bank", "categoryData": { "priority": "regular", "type": "bank" }, "counterparty": { "bankAccount": { "accountHolder": { "address": { "city": "Amsterdam", "country": "NL", "postalCode": "1011DJ", "stateOrProvince": "NH", "line1": "Simon Carmiggeltstraat 6-50" }, "fullName": "S. Hopper" }, "accountIdentification": { "type": "iban", "iban": "NL45INGB0000000001" } } }, "description": "Your description of the transfer", "direction": "outgoing", "paymentInstrument": { "id": "PI00000000000000000000001" }, "reason": "counterpartyAccountNotFound", "reference": "Your internal reference for the transfer", "referenceForBeneficiary": "Your-reference-sent-to-the-beneficiary", "status": "booked", "balances": [ { "balance": 110, "currency": "EUR", "received": 0, "reserved": 0 } ], "events": [ { "bookingDate": "2023-10-12T15:43:36+02:00", "id": "EVJN00000000000000000000000001", "mutations": [ { "currency": "EUR", "received": -110 } ], "status": "received", "type": "accounting" }, { "bookingDate": "2023-10-12T15:43:36+02:00", "id": "EVJN00000000000000000000000002", "mutations": [ { "currency": "EUR", "received": 110, "reserved": -110 } ], "status": "authorised", "type": "accounting" }, { "bookingDate": "2023-10-12T15:43:37+02:00", "id": "EVJN00000000000000000000000003", "mutations": [ { "balance": -110, "currency": "EUR", "received": 0, "reserved": 110 } ], "status": "booked", "transactionId": "EVJN00000000000000000000000003EUR", "type": "accounting", "valueDate": "2023-10-12T15:43:28+02:00" }, { "estimatedArrivalTime": "2023-10-13T18:00:00+02:00", "id": "EVTR00000000000000000000000001", "type": "tracking", "updateDate": "2023-10-12T15:43:39+02:00" } ], "sequenceNumber": 4, "tracking": { "estimatedArrivalTime": "2023-10-13T18:00:00+02:00", "type": "estimation" }, "transactionRulesResult": { "allHardBlockRulesPassed": true }, "type": "bankTransfer" }, { "balancePlatform": "YOUR_BALANCE_PLATFORM", "creationDate": "2023-10-13T08:29:05+02:00", "id": "48NJID60KRHQ8VNK", "accountHolder": { "description": "Your description for the account holder", "id": "AH00000000000000000000001" }, "amount": { "currency": "USD", "value": 3 }, "balanceAccount": { "description": "Your description for the balance account", "id": "BA00000000000000000000001" }, "category": "internal", "counterparty": { "balanceAccountId": "BA00000000000000000000002" }, "description": "Your description of the transfer", "direction": "outgoing", "reason": "approved", "reference": "Your internal reference for the transfer", "referenceForBeneficiary": "reference_for_beneficiary", "status": "booked", "balances": [ { "balance": -3, "currency": "USD", "received": 0, "reserved": 0 } ], "events": [ { "bookingDate": "2023-10-13T10:29:15+02:00", "id": "EVJN00000000000000000000000004", "mutations": [ { "currency": "USD", "received": -3 } ], "status": "received", "type": "accounting" }, { "bookingDate": "2023-10-13T10:29:15+02:00", "id": "EVJN00000000000000000000000005", "mutations": [ { "currency": "USD", "received": 3, "reserved": -3 } ], "status": "authorised", "type": "accounting" }, { "bookingDate": "2023-10-13T10:29:15+02:00", "id": "EVJN00000000000000000000000006", "mutations": [ { "balance": -3, "currency": "USD", "received": 0, "reserved": 3 } ], "status": "booked", "transactionId": "EVJN00000000000000000000000006USD", "type": "accounting", "valueDate": "2023-10-13T10:29:05+02:00" } ], "sequenceNumber": 3, "type": "internalTransfer" } ], "_links": {} } ``` ## View a specific transfer The following tabs explain how to find a specific transfer using your [Customer Area](https://ca-test.adyen.com/) or our [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview). ### Tab: Customer Area You can search for a transfer by its ID or description. You can limit the scope of search results by applying filters before searching. To search for a transfer: 1. Go to **Transactions** > **Transfers**. 2. Select **Search**. 3. On the dropdown menu, select **Transfers**. 4. In the text field, enter information such as the **Transfer ID** or **Description**. The search window now shows only the corresponding transfers. You can also see the transfer details listed in a separate **Transfers details** page. To open this page, select a **Transfer ID**. ### Tab: Transfers API To get the details of a specific transfer, make a GET [/transfers/{id}](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)) request, specifying the transfer [id](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#path-id) in the path. **Example GET /transfers/{id} request** #### curl ```bash curl https://balanceplatform-api-test.adyen.com/btl/v4/transfers/3JNC4O615TH2D8JY \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X GET \ -d '' ``` #### Java ```java // Adyen Java API Library v33.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.transfers.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.transfers.*; Client client = new Client("ADYEN_BALANCE_PLATFORM_API_KEY", Environment.TEST); // Send the request TransfersApi service = new TransfersApi(client); TransferData response = service.getTransfer("id", null); ``` #### PHP ```php setXApiKey("ADYEN_BALANCE_PLATFORM_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new TransfersApi($client); $response = $service->getTransfer('id'); ``` #### C\# ```cs // Adyen .net API Library v27.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Transfers; using Adyen.Service.Transfers; var config = new Config() { XApiKey = "ADYEN_BALANCE_PLATFORM_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new TransfersService(client); var response = service.GetTransfer("id"); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v23.3.0 const { Client, TransfersAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", environment: "TEST" }); // Send the request const transfersAPI = new TransfersAPI(client); const response = transfersAPI.TransfersApi.getTransfer("id"); ``` #### Go ```go // Adyen Go API Library v16.3.0 import ( "context" "github.com/adyen/adyen-go-api-library/v16/src/common" "github.com/adyen/adyen-go-api-library/v16/src/adyen" "github.com/adyen/adyen-go-api-library/v16/src/transfers" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.Transfers() req := service.TransfersApi.GetTransferInput("id") res, httpRes, err := service.TransfersApi.GetTransfer(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.3.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_BALANCE_PLATFORM_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.transfers.transfers_api.get_transfer(id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_BALANCE_PLATFORM_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.transfers.transfers_api.get_transfer('id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v23.3.0 import { Client, TransfersAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", environment: "TEST" }); // Send the request const transfersAPI = new TransfersAPI(client); const response = transfersAPI.TransfersApi.getTransfer("id"); ``` The response contains all the details of the transfer. Take note of the following: | Response parameter | Description | | | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | - | | [amount](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#responses-200-amount) | An object that contains the amount and currency of the transfer funds. | | | [direction](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#responses-200-direction) | Specifies whether the transferred funds are **incoming** or **outgoing**. | | | [events](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#responses-200-events) | An array that contains the event history of the transfer. | | | [reference](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#responses-200-reference) | Your internal reference for the transfer. | | | [status](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#responses-200-status) | The current status of the transfer. For example: **received**, **authorised**, or **booked**. | | **Example GET /transfers/{id} response** ```json { "balancePlatform": "YOUR_BALANCE_PLATFORM", "creationDate": "2023-12-05T10:36:10+01:00", "id": "3JNC4O615TH2D8JY", "accountHolder": { "description": "Your description for the account holder", "id": "AH00000000000000000000001", "reference": "Your reference for the account holder" }, "amount": { "currency": "EUR", "value": 1235 }, "balanceAccount": { "description": "Your description for the balance account", "id": "BA00000000000000000000001" }, "category": "internal", "counterparty": { "balanceAccountId": "BA00000000000000000000002" }, "description": "Your description for the transfer", "direction": "outgoing", "reason": "approved", "reference": "Your internal reference for the transfer", "referenceForBeneficiary": "Your reference sent to the beneficiary", "status": "booked", "balances": [ { "balance": -1235, "currency": "EUR", "received": 0, "reserved": 0 } ], "events": [ { "bookingDate": "2023-12-05T10:36:24+01:00", "id": "EVJN00000000000000000000000001", "mutations": [ { "currency": "EUR", "received": -1235 } ], "status": "received", "type": "accounting" }, { "bookingDate": "2023-12-05T10:36:24+01:00", "id": "EVJN00000000000000000000000002", "mutations": [ { "currency": "EUR", "received": 1235, "reserved": -1235 } ], "status": "authorised", "type": "accounting" }, { "bookingDate": "2023-12-05T10:36:25+01:00", "id": "EVJN00000000000000000000000003", "mutations": [ { "balance": -1235, "currency": "EUR", "received": 0, "reserved": 1235 } ], "status": "booked", "transactionId": "EVJN00000000000000000000000003EUR", "type": "accounting", "valueDate": "2023-12-05T10:36:10+01:00" } ], "sequenceNumber": 3, "type": "internalTransfer" } ``` ## Download a transfer confirmation letter If a user asks about a transfer, you can send them a bank transfer confirmation letter which you can download from your Customer Area. The letter is in PDF format, shows the transfer details and the beneficiary account, and confirms that Adyen has sent the instruction to carry out the transfer. To download bank transfer confirmation letters, your account must have the following [role](/account/user-roles#platforms): * **Download transfer confirmation letter** To download a confirmation letter from your [Customer Area](https://ca-test.adyen.com/): 1. Go to **Transactions** > **Transfers**. 2. Set filters: 1. Select **More filters**. 2. Set **Status** to **Booked**. 3. Set **Type** to **Bank transfer**. 4. Select **Apply all**. 3. Select the **Transfer ID** of the transfer for which you want to download a confirmation letter. 4. Select **Transfer confirmation letter**. ## See also * [Set up webhooks](/development-resources/webhooks/configure-and-manage) * [Reason codes for failed payouts](/marketplaces/payout-webhooks#return-reason-codes)