---
title: "Fund transfer"
description: "Transfer funds between accounts using Customer Area or the API."
url: "https://docs.adyen.com/classic-platforms/fund-transfer"
source_url: "https://docs.adyen.com/classic-platforms/fund-transfer.md"
canonical: "https://docs.adyen.com/classic-platforms/fund-transfer"
last_modified: "2020-05-26T12:23:00+02:00"
language: "en"
---

# Fund transfer

Transfer funds between accounts using Customer Area or the API.

[View source](/classic-platforms/fund-transfer.md)

This page is for classic Adyen for Platforms integrations. If you are just starting your implementation, refer to our [new integration guide](/adyen-for-platforms-model) instead.

Depending on your use cases, there might be scenarios that require you to move funds between accounts in your platform. Some examples are if you want to send a bonus, or when it is necessary to transfer funds from one account holder's account to another.

You can transfer funds between accounts using:

* An [API request](#transfer-funds).
* Your [Customer Area](#transfer-funds-customer-area).

After the funds have been transferred, you can also fully or partially [refund a funds transfer](#refund-the-fund-transfer) using an API request.

## Requirements

Before you can transfer funds or refund a fund transfer, you must:

1. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable fund transfers and define your transfer codes. These codes specify the reason for the transfer and must be defined for your platform in compliance with local regulations.

2. Set up [notification webhooks](/classic-platforms/configure-notifications) for event types [TRANSFER\_FUNDS](https://docs.adyen.com/api-explorer/Notification/latest/post/TRANSFER_FUNDS) and [REFUND\_FUNDS\_TRANSFER](https://docs.adyen.com/api-explorer/Notification/latest/post/REFUND_FUNDS_TRANSFER). Fund transfers and refund fund transfers are processed asynchronously, so you must rely on webhooks to know the outcome of your requests.

## Transfer funds through the API

You can use the [/transferFunds](https://docs.adyen.com/api-explorer/Fund/latest/post/transferFunds) endpoint to programmatically initiate a fund transfer. In your POST request, specify:

| Parameter                                                                                                                       | Required                                                                                    | Description                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [sourceAccountCode](https://docs.adyen.com/api-explorer/#/Fund/latest/post/transferFunds__reqParam_sourceAccountCode)           | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The code of the account from which the funds are to be debited. The status of the account's [account holder](/classic-platforms/verification-process#account-holder-statuses) be **Active** and payouts must be allowed.        |
| [destinationAccountCode](https://docs.adyen.com/api-explorer/#/Fund/latest/post/transferFunds__reqParam_destinationAccountCode) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The code of the account to which the funds are to be credited. The status of the account's [account holder](/classic-platforms/verification-process#account-holder-statuses) must be **Active** and processing must be allowed. |
| [amount](https://docs.adyen.com/api-explorer/Fund/latest/post/transferFunds#request-amount)                                     | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The `currency` and `value` of the fund transfer.                                                                                                                                                                                |
| [transferCode](https://docs.adyen.com/api-explorer/#/Fund/latest/post/transferFunds__reqParam_transferCode)                     | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The reason for the transfer, preconfigured on Adyen's side. If you haven't defined this yet, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other).                                    |
| [merchantReference](https://docs.adyen.com/api-explorer/Fund/latest/post/transferFunds#request-merchantReference)               |                                                                                             | A string that you provide so you can link multiple transactions.                                                                                                                                                                |

**Transfer funds request**

```bash
curl https://cal-test.adyen.com/cal/services/Fund/v6/transferFunds \
-H 'x-api-key: ADYEN_API_KEY' \
-H 'content-type: application/json' \
-d '{
   "sourceAccountCode":"100000000",
   "destinationAccountCode":"190324759",
   "amount":{
      "currency":"EUR",
      "value":2000
   },
   "transferCode":"CREDIT_DISCOUNT",
   "merchantReference":"MyTransferReference-6718A"
}'
```

Requests for fund transfers are processed asynchronously so in the response, we only inform you that we received your request. You'll get the result from the [TRANSFER\_FUNDS](https://docs.adyen.com/api-explorer/Notification/latest/post/TRANSFER_FUNDS) webhook.

The response returns a `pspReference`. You'll need the `pspReference` in case you have to [refund the funds transfer](#refund-the-fund-transfer).

**Response**

```json
{
   "pspReference":"9914828517650017",
   "resultCode":"Received"
}
```

Successful fund transfers are reported with a **FundTransfer** journal entry in your [Marketplace Payment Accounting Report](/reporting/marketpay-payments-accounting-report).

## Transfer funds through Customer Area

You can use the Customer Area to manually transfer funds. To do this you must have the **Perform and manage Fund Transfers from the customer area** role for your Customer Area user. If you do not have the role, contact your Admin user.

To transfer funds through Customer Area:

1. Log in to your Customer Area and switch to your merchant account.

2. Go to **Platform** > **Sub-merchant**.

3. Select the source account holder, then select the **Accounts** tab. The source account holder must have an active status and have payouts allowed.

4. Select the more actions menu (**) then select **Transfer to another account**.

5. In the **New transfer** page, specify:

   * The source account. The source account must have a positive balance.
   * The destination accounts. The account's account holder must have an active status and have processing allowed.
   * The amount to be transferred.

   Then select the transfer code from the drop-down list. These codes are configured on Adyen's side. If you haven't defined this yet, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other).

6. Select **Transfer** to initiate the fund transfer.

You can check the status of the transfer in the **Transactions** tab. You can also get the result from the [TRANSFER\_FUNDS](https://docs.adyen.com/api-explorer/Notification/latest/post/TRANSFER_FUNDS) webhook.

Successful fund transfers are reported with a **FundTransfer** journal entry in your [Marketplace Payment Accounting Report](/reporting/marketpay-payments-accounting-report).

## Refund the funds transfer

If you need to revert a previous funds transfer, you can refund the transfer for the full amount or a partial amount. You can revert a fund transfer regardless of the [account holder status](/classic-platforms/verification-process#account-holder-statuses). This allows you to reverse a fund transfer from an account even if that account is no longer **Active**.

To completely or partially refund a funds transfer, make a POST [/refundFundsTransfer](https://docs.adyen.com/api-explorer/Fund/latest/post/refundFundsTransfer) request, specifying:

| Parameter                                                                                                               | Required                                                                                    | Description                                                                                                                                   |
| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| [originalReference](https://docs.adyen.com/api-explorer/Fund/latest/post/refundFundsTransfer#request-originalReference) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The `pspReference` that you received in the response to the original funds transfer.                                                          |
| [amount](https://docs.adyen.com/api-explorer/Fund/latest/post/refundFundsTransfer#request-amount)                       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The `currency` and `value` of the funds transfer that you are refunding. This can be the full original amount or part of the original amount. |
| [merchantReference](https://docs.adyen.com/api-explorer/Fund/latest/post/refundFundsTransfer#request-merchantReference) |                                                                                             | A string that you provide so you can link multiple transactions.                                                                              |

**Refund funds transfer request**

```bash
curl https://cal-test.adyen.com/cal/services/Fund/v6/refundFundsTransfer \
-H 'x-api-key: ADYEN_API_KEY' \
-H 'content-type: application/json' \
-d '{
   "originalReference": "9914828517650017",
   "amount": {
     "currency": "EUR",
     "value": 2000
   },
  "merchantReference": "MyTransferReference-6718A"
}'
```

Requests for refunding fund transfers are processed asynchronously so in the response, we only inform you that we received your request. You'll get the result from the [REFUND\_FUNDS\_TRANSFER](https://docs.adyen.com/api-explorer/Notification/latest/post/REFUND_FUNDS_TRANSFER) webhook.

**Response**

```json
{
   "pspReference": "8815789044698840",
   "resultCode": "Received",
   "merchantReference": "YOUR_MERCHANT_REFERENCE"
}
```

Successfully refunded fund transfers are reported with a **FundTransferReversed** journal entry in your [Marketplace Payment Accounting Report](/reporting/marketpay-payments-accounting-report).

## See also

* [Reconcile fund transfers](/classic-platforms/reconciliation-use-cases/build-transactional-ledger)
* [Notification webhooks](/classic-platforms/notifications)
