Skip to main content

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 balance
  • TRANSFER_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 units
  • currencyCode - 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 registration
  • mobile - The mobile number of the recipient, as per their registration
  • customerId - 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.

warning

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.

warning

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:

Transfers to unregistered users
Feature in development

A transfer to unregistered user is defined as a transfer from an existing user(sender) to a user that is not yet present in our system(recipient). In order to specify the recipient, the requester must provide either the email or mobile customer field.

In order to have a transfer to unregistered recipient, the following conditions must be fulfilled:

The sender must:

  • Exist in the system
  • Not be restricted
  • Have enough balance in the requested currency

The recipient must:

  • Not exist in the system
  • Be eligible upon registration to receive funds in the requested currency

A transfer cannot be advanced to its PENDING state prior to the recipient's registration, since creating transactions depends on all parties being present. Therefore, after its PREVIEW state, the transfer is moved into SCHEDULED status and the transfer amount is blocked in sender’s account. Transfers are automatically processed upon recipient party registration. As such, SCA is conducted as part of the scheduling. During the SCHEDULED transaction state, a request can be made by the sender to cancel the transfer by updating it to CANCELLED.

note

Transfers awaiting a recipient registration can and will expire after a certain amount of time(14 days default, editable), unless processed. Please contact a Paysafe sales representative for further information.

Multiple transfers from the same user to a single unregistered user are not permitted and will be rejected. Cancelling the transfer will enable the sender to request a new transfer to the same recipient.

warning

Transfers to unregistered users are not implicitly enabled. Please contact a Paysafe sales representative for further information.