Transfers
Introduction
A transfer is the movement of funds between two wallet accounts. Each transfer consists of two transactions.
TRANSFER_OUT
- debit transaction for moving money from sender customer balanceTRANSFER_IN
- credit transaction for moving money into the recipient customer's balance
A fee transfer is a special type of transfer used specifically for standalone fees.
Each fee transfer consists of two transactions, both of type STANDALONE_FEE
:
- debit transaction for moving money from sender customer balance
- credit transaction for moving money into the recipient customer's balance
There are two types of participants in a transfer:
- Customer wallets - regular users onboarded on embedded wallets solution
- Merchant wallets - wallets belonging to the merchant
These types of participants are treated differently from a regulatory perspective but used the same way for performing transfers.
For performing a transfer you need the following parameters:
amount
- The amount in minor unitscurrencyCode
- Currency of the amount- Valid identifier for the recipient
deviceInfo
- Device profiling information
The request requires the recipient to be identified, unless the transfer is a currency exchange. Valid recipient identifiers are:
email
- The email address of the recipient, as per their registrationmobile
- The mobile number of the recipient, as per their registrationcustomerId
- The customer id of the recipient, as per their registration
For successful transfer the following conditions must be met:
- Sender customer should have enough balance in the requested currency and must not be restricted
- Recipient customer must exist in the system and must not be restricted
For more information check:
Currency conversion
The transfer currency must always match the sender account currency. By default, the recipient account also must be in the same currency.
Currency conversion is not implicitly enabled. For currency conversion during transfers, contact a Paysafe sales representative.
Currency Exchange between customers
Currency exchange between customers is a special type of transfer. With this type of transfer, the recipient receives a currency different from the sender's. In order to specify the recipient currency, as well as to solidify the exchange rate, please use The Currency Exchange Module
For a successful transfer, the following conditions must be met:
- The transfer currency must always match the sender account currency.
- A valid FX quote id must be provided in the request in the
fxQuote
field. - The recipient must be capable of receiving the Quote
targetCurrency
.
Transfer handshakes
Handshake is a mechanism of accepting transfers. A handshake is accepted when the recipient accepts an incoming transfer. At that point, a handshake is established between the parties and any future transfers between them, regardless of direction will not require a handshake.
A handshake is performed at the point, when the transfer is in the SCHEDULED
status. It is done, by requesting an update to status ACCEPTED
.
Afterwards, the transfer is automatically processed and needs no further update.
Handshakes are not implicitly enabled. Please contact a Paysafe sales representative for further information.
Merchant Fee collection
A fee can be collected by the merchant for each successful transfer. These fees are collected in a preconfigured merchant fee collection account in the corresponding fee currency.
There are two approaches to collecting fees:
- By providing the Fees parameter in the Create Transfer endpoint
- By using the standalone Create Fee Transfer endpoint
Transfers to unregistered users Feature in development
A transfer to unregistered user is defined as a transfer by a merchant or existing user to a user that is not yet present in our system.
As such it has the following requirements:
The sender should:
- Exist in the system
- Not be restricted
- Have enough balance in the requested currency
The recipient should:
- Not exist in the system
- Be eligible upon registration to receive funds in the requested currency
Since creating transactions depends on all parties being present, transfers to unregistered users can only progress to SCHEDULED
status prior to recipient registration.
Transfers are automatically processed upon recipient party registration. As such SCA is conducted prior to scheduling the transfer.
Transfers to unregistered users are not implicitly enabled. Please contact a Paysafe sales representative for further information.