--- title: "View payment details" description: "View information about payment activity across your platform" url: "https://docs.adyen.com/issuing/payment-stages/check-details-payment" source_url: "https://docs.adyen.com/issuing/payment-stages/check-details-payment.md" canonical: "https://docs.adyen.com/issuing/payment-stages/check-details-payment" last_modified: "2019-12-06T14:44:00+01:00" language: "en" --- # View payment details View information about payment activity across your platform [View source](/issuing/payment-stages/check-details-payment.md) ##### Best practice: Webhooks Track transfers by listening to [webhooks](/development-resources/webhooks/configure-and-manage). This page explains how to view payment and transfer details using the API and your [Customer Area](https://ca-test.adyen.com/). In your balance platform, transfers represent funds that are credited or debited from a balance account. Before any money movement occurs, transfers must be: 1. **Initiated** by events such as [paying with an Adyen card](/issuing/payment-stages) or [adding funds to a balance account](/issuing/add-manage-funds). 2. **Authorized** by Adyen. 3. **Captured**, in payment events, or **booked**, in other events. You can track the status and details of transfers to support your business operations. For recurring operations, such as [reconciling payments](/issuing/report-types), we recommend that you listen to [webhooks](/development-resources/webhooks/configure-and-manage). In other cases, you can view transfer details by making a GET [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers) request or using the **Transfers** page in your [Customer Area](https://ca-test.adyen.com/). ## 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 payments and transfers You can view the list of transfers in your platform 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 payments and 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 payments with refusal problems. ** ### Example — View refused card payments For example, to see a list of refused card payments within a specific period, set the following filters: * **Date**: set a date range. * **Type:** select **Payment**. * **Status:** select **Refused**. ### 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. | | | [paymentInstrumentId](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers#query-paymentInstrumentId) | | Limits the returned list to the transfers related to the specified . When you include this, you must also provide either a `balanceAccountId`, `accountHolderId`, or `balancePlatform`. | | | [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": "issuedCard", "counterparty": { "merchant": { "mcc": "7999", "merchantId": "526567789010068", "city": "Amsterdam", "country": "NLD", "name": "Supplies-ecom" } }, "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": "payment" }, { "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 payment or 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 payment by its ID or description. You can limit the scope of search results by applying filters before searching. To search for a payment: 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 **Payment instrument ID**. The search window now shows only the corresponding payments. You can also see the payment 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. | | | [paymentInstrument](https://docs.adyen.com/api-explorer/transfers/latest/get/transfers/\(id\)#responses-200-paymentInstrument) | An object that contains information about the used in this 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": "issuedCard", "counterparty": { "merchant": { "mcc": "7999", "merchantId": "526567789010068", "city": "Amsterdam", "country": "NLD", "name": "Supplies-ecom" } }, "description": "Your description for the transfer", "direction": "outgoing", "paymentInstrument": { "description": "Your description of the payment instrument", "id": "PI00000000000000000000001" }, "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, "transactionRulesResult": { "allHardBlockRulesPassed": true, "score": 0 }, "type": "payment" } ``` * [Webhooks for payment events](/issuing/webhook-types/payment-events) * [Webhooks for fund transfer events](/issuing/webhook-types/fund-transfers-webhooks) * [Validation types and refusal reasons](/issuing/validation-checks)