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

There are three types of participants in a transfer:

  • Customer wallets - regular users onboarded on embedded wallets solution
  • Legal Entity wallets - wallets, that belong to legal entities
  • 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 - must match the sending account currency
  • sender.customerId - wallet customer id of the sender
  • sender.accountId - wallet account id of the sender account
  • recipient.customerId - wallet customer id of the recipient
  • recipient.accountId - wallet customer id of the recipient
  • screeningId - required for transfers related to Third Party deposits or withdrawals

Optional parameters:

  • fee (optional) - (In Development) fee collected by the merchant for this transfer. The fee is always collected in sending account currency.

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 explicitly enabled. For currency conversion during transfers, contact a Paysafe sales representative.

Transfer types

Customer-to-merchant transfer

Set recipient field to the Merchant customer id and account id. These are set up during merchant onboarding.

Merchant-to-customer transfer

Set sender field to the Merchant customer id and account id. These are set up during merchant onboarding.

Customer-to-customer transfer

Set sender and recipient fields with the respective customer and account ids of the transfer participants.

Transfer Async behavior

The transfers are executed asynchronously.

  • The response will contain the submitted information, without the deviceInfo, risk, and customerIp properties.
  • The response will not contain transactions, since they are not yet created.
  • Merchant must wait for the webhook for this transaction to confirm the final status of the operation - successful or not.
  • Until the webhook is received, the Merchant can query the transfer using the Transactions endpoint, using merchantRefNum. While the transfer is still in the queue, an empty response will be returned.

Merchant Fee collection

(In Development)

A fee can be collected by the merchant for the transfer. The fee parameter is passed in minor units and is always collected in sending account currency.

Fees are collected in preconfigured merchant fee collection account in the corresponding fee currency.