Skip to main content

Transfer funds to wallet recipient

POST 

/v2/customers/:customerId/transfers

Introduction

A transfer is the movement of funds between two wallet accounts. It allows peer to peer transfer to another wallet user. Transfer requires the following parameters:

  • amount - the amount in minor units
  • currencyCode - currency of the amount
  • email or customerId of the recipient
  • deviceInfo - device profiling information

For successful transfer the following conditions must be met:

  • Customer should have enough balance in the requested currency
  • Recipient customer must exist in the system and must not be restricted

Transfer Execution

Transfer is created in PREVIEW state, which can be used to determine the recipient and FX amount (if applicable).

To move forward the execution you should usе the POST /v2/customers/{customerId}/transfers/{transferId}/status to prepare the transfer for execution.

{
"status": "PENDING"
}

This will create a PENDING transaction and associate it with the transfer. All limits and other checks will be performed.

To confirm the transfer for execution POST /v2/customers/{customerId}/transfers/{transferId}/status:

{
"status": "PROCESSING"
}

The transfers are executed asynchronously. Check the transfer status for details.

Using transfers for local currency exchange

If customer want to exchange currency between his accounts, he must provide FX Quote parameter and skip the recipient parameter.

The following conditions must be met:

  • have account in the targetCurrency of the FX Quote
  • enough balance in the sourceCurrency

Merchant Fee collection

A fee can be collected by the merchant for each successful transfer. Fees are collected in a preconfigured merchant fee collection account in the corresponding fee currency.

The recipient merchant account for the fees can be determined using one of the following approaches:

  • Fee in the Same Currency as the Main Transfer The fee is transferred to the merchant account in the same currency as currencyCode. Both recipientCurrency and merchantAccountId parameters must be omitted.

  • Fee in a Specified Currency The fee is transferred to the merchant account in the currency defined by the recipientCurrency parameter. If currencyCode is different, currency conversion will be applied. Use Case: Suitable for merchants who want to consolidate funds in a specific currency, avoiding segmentation across multiple accounts.

  • Fee in a Specified Account The fee is transferred to a specific merchant account identified by the merchantAccountId parameter. Use Case: Suitable for merchants who have multiple accounts in the same currency and recipientCurrency cannot uniquely identify the desired recipient account.

Supported fee payment reasons are SENDER_FEE and RECIPIENT_FEE.

SENDER_FEERECIPIENT_FEE
Fee amount is added on top of the request amount.Fee is deducted from request amount.
Sender is charged.Recipient is charged.

Request

Responses

Accepted