Transfers
Introduction
The Transfers module exposes features for managing transfers.
A transfer is the movement of funds between two wallet accounts. It allows peer-to-peer transfer to another wallet user.
Transfer Service
The TransferService
can be used for managing transfers related operations.
Preview transfer
Use preview
method to create a transfer for the current customer.
Transfers are created in a PREVIEW
state.
The operation allows checking transfer parameters and displaying the fees.
For a 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
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
import { TransferReason } from '@paysafe/paysafe-wallet-saas-web/common';
import { CustomerTransferRequest } from '@paysafe/paysafe-wallet-saas-web/transfers';
const transferPreviewRequest: CustomerTransferRequest = {
amount: 1000,
currencyCode: 'USD',
recipient: {
email: 'jon.doe@paysafe.com'
},
transferDetails: {
reason: TransferReason.PEER_TRANSFER,
description: 'This is transfer request!'
}
};
Wallet.getInstance().getTransferService().preview(transferPreviewRequest)
.then(response => console.log('Create transfer preview', response))
.catch(error => console.error('Error create transfer preview', error));
CustomerTransferRecipient
Contains transfer recipient information. If used in CustomerTransferRequest
context, the system tries to resolve email
to customerId
in the system.
Аt least one of the two fields is required (email
or customerId
).
DeviceInfo
The DeviceInfo
contains device profiling information
TransferDetails
The TransferDetails
model describes transfer metadata.
TransferReason
Enumeration that represents different types of transfer reason. In the case of the customer-to-customer transfer the value is TransferReason.PEER_TRANSFER
.
For other possible values check TransferReason
.
Create Transfer
Use create
method to perform the required validations and move the transfer to PENDING
state.
Pass the id
from the CustomerTransfer
object returned by the preview
method.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
import { TransferCreate } from '@paysafe/paysafe-wallet-saas-web/transfers';
const requestBody: TransferCreate = {
id: '1234567890'
}
Wallet.getInstance().getTransferService().create(requestBody)
.then(response => console.log('Create transfer', response))
.catch(error => console.error('Error create transfer', error));
Confirm Transfer
Use confirm
method to confirm the transfer. Pass the id
from the CustomerTransfer
object returned by the create
method.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
import { TransferConfirm } from '@paysafe/paysafe-wallet-saas-web/transfers';
const requestBody: TransferConfirm = {
id: '1234567890'
}
Wallet.getInstance().getTransferService().confirm(requestBody)
.then(response => console.log('Confirm transfer', response))
.catch(error => console.error('Error confirm transfer', error));
Get Transfers
Use getAll
method to retrieve a list of transfers by passing the GetTransferParameters
.
If no parameters are passed, it will return the last 10 transfers by default.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
import { GetTransferParameters } from '@paysafe/paysafe-wallet-saas-web/transfers';
const getTransferParameters: GetTransferParameters = {
offset: 10,
limit: 10,
merchantRefNum: '1234567890',
slipId: '1234567890',
}
Wallet.getInstance().getTransferService().getAll(getTransferParameters)
.then(response => console.log('Get all transfers', response))
.catch(error => console.error('Error get all transfers', error));
Get Transfer
To retrieve transfer by id use get
method.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
const transferId = '1234567890';
Wallet.getInstance().getTransferService().get(transferId)
.then(response => console.log('Get get transfer', response))
.catch(error => console.error('Error get transfer', error));