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 unitscurrencyCode
- currency of the amountemail
orcustomerId
of the recipientdeviceInfo
- 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
. BothrecipientCurrency
andmerchantAccountId
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. IfcurrencyCode
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 andrecipientCurrency
cannot uniquely identify the desired recipient account.
Supported fee payment reasons are SENDER_FEE
and RECIPIENT_FEE
.
SENDER_FEE | RECIPIENT_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
- 202
- 400
- 405