Are you looking for test card numbers?

Would you like to contact support?

Issuin icon

Manage funds

Add funds to balance accounts.

Before a cardholder can use their card to make a payment, the balance account associated with the card needs to have funds.

You can get funds into their balance account by:

Funding your liable account

You can fund your liable balance account, and from there you can transfer funds to your users' balance accounts.
To find out how you can deposit funds into your liable balance account, reach out to your Adyen contact.

Transfer funds between balance accounts

Before you can transfer funds, you need to have permissions assigned to your web service user and to the source balance account. Reach out to your Adyen contact to get the required permissions.

You can transfer funds between different user's balance accounts, or between your user's and your own liable balance account.

To transfer funds, make a POST /transfers request specifying:

Parameter Required Description
source.balanceAccountId -white_check_mark- Specify the ID of the balance account where you want to transfer the funds from.
destination.balanceAccountId -white_check_mark- Specify the ID of the balance account where you want to transfer funds to.
amount -white_check_mark- The currency and value (in minor units).
description -white_check_mark- Your unique description for this transfer.
reference -white_check_mark- Your unique reference for this transfer.

Here's an example of how you can transfer 100 EUR from one balance account to another:

Create a transfer
curl \
-u "ws@Company.YourCompany":"YOUR_WS_PASSWORD" \
-H "content-type: application/json" \
-d '{
    "source": {
        "balanceAccountId": "BA32272223211C78CZ3T52DKZ"
    "destination": {
        "balanceAccountId": "BA32272223222B5LPRFDW7J9G"
    "amount": {
        "value": 10000,
        "currency": "EUR"
    "reference": "YOUR_UNIQUE_REFERENCE",
    "description": "YOUR_UNIQUE_DESCRIPTION"

The response contains the result of the transfer.

    "id": "TX123456",
    "resultCode": "Authorised"

Split payments

You can fund balance accounts by processing payments, and splitting the payment in any number of ways among any number of balance accounts.

To split a payment, provide split data in your POST /payments request:

  • splits: Array of split objects.

    • amount: The amount to be added to the balance account.
    • type: Specify if the split is for VAT, Commission, or BalanceAccount.
    • account: The balanceAccounts.Id you want to send the funds to. Only required when type is BalanceAccount.
    • reference: Your unique identifier for the split. You will need this reference when performing refunds.

For example, split a 150.00 USD payment with 3.00 USD going to your liable balance account as commission, and 147.00 USD going to your user's balance account, BAA1B2C3D4E5F6G7H8I9J0.

Split a payment
curl \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
      "number":"4400 0000 0000 0008",
      "holderName":"John Smith",

Dynamic balance account funding

By default, the balance account associated with a payment instrument needs to have enough balance to be able to process a payment attempt. In some cases, you may not want to have a separate balance for each payment instrument, but instead have a common pool of funds for all transactions. You can enable a common fund with dynamic balance account funding.

To use dynamic balance account funding, include a fundingBalanceAccountId when creating a balanceAccount resource. This should be an ID of another balance account, often this is your liable balance account.

If the original balance account has available funds, these funds will be used first before deducting from the fundingBalanceAccountId. When the original balance account has zero balance, each transaction will pull funds from the specified fundingBalanceAccountId.

Here is an example of creating a balance account, and assigning a funding balance account:

Assign a dynamic funding balance account
curl \
-u "ws@Company.YourCompany":"YOUR_WS_PASSWORD" \
-H "content-type: application/json" \
-d '{
    "balancePlatform": "YOUR_BALANCE_PLATFORM",
    "fundingBalanceAccountId": "BA32272223222C6CYNSDW7J9G"