Virtual Instruments
Introduction
The Virtual Instruments module exposes features for managing virtual instruments.
Virtual Instruments Service
The VirtualPaymentInstrumentService
class for managing virtual instrument related operations.
Get Supported Virtual Instrument Types
Use getAccountVirtualInstrumentTypes
function to retrieve the supported virtual instrument types VirtualInstrumentTypeList
for the specific account.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
const accountId = '123234';
Wallet.getInstance().getVirtualPaymentInstrumentService().getAccountVirtualInstrumentTypes(accountId)
.then(response => console.log('Virtual instrument types', response))
.catch(error => console.error('Error fetching virtual instrument types', error));
Request Virtual Instrument
Use requestVirtualInstrument
function to request assignment of a new virtual instrument to existing balance account. It returns VirtualInstrumentRequestStatus
object.
Use VirtualInstrumentRequest
to provide parameters.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
import { VirtualInstrumentRequest } from '@paysafe/paysafe-wallet-saas-web/virtual-payment-instruments';
import { VirtualInstrumentType } from '@paysafe/paysafe-wallet-saas-web/common';
const requestBody: VirtualInstrumentRequest = {
instrumentType: VirtualInstrumentType.US_BANK_ACCOUNT,
accountId: '123234'
};
Wallet.getInstance().getVirtualPaymentInstrumentService().requestVirtualInstrument(requestBody)
.then(response => console.log('Request virtual instrument', response))
.catch(error => console.error('Error requesting virtual instrument', error));
Get Virtual Instrument Request Status
Use getVirtualInstrumentRequestStatus
function to retrieve the virtual instrument request status VirtualInstrumentRequestStatus
.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
const virtualInstrumentRequestId = '5029090724';
Wallet.getInstance().getVirtualPaymentInstrumentService().getVirtualInstrumentRequestStatus(virtualInstrumentRequestId)
.then(response => console.log('Virtual instrument request status', response))
.catch(error => console.error('Error fetching virtual instrument request status', error));
Get Virtual Instrument Requests
Use getVirtualInstrumentRequests
function to retrieve the virtual instrument requests list VirtualInstrumentRequestStatusList
of a customer.
Use VirtualInstrumentRequestsParameters
to provide parameters.
import { Wallet } from '@paysafe/paysafe-wallet-saas-web/wallet';
import { VirtualInstrumentRequestsParameters } from '@paysafe/paysafe-wallet-saas-web/virtual-payment-instruments';
import { VirtualInstrumentType } from '@paysafe/paysafe-wallet-saas-web/common';
const virtualInstrumentRequestsParameters: VirtualInstrumentRequestsParameters = {
limit: 10,
offset: 0,
accountId: '123234',
instrumentType: VirtualInstrumentType.US_BANK_ACCOUNT
};
Wallet.getInstance().getVirtualPaymentInstrumentService().getVirtualInstrumentRequests(virtualInstrumentRequestsParameters)
.then(response => console.log('Virtual Instrument Requests', response))
.catch(error => console.error('Error fetching virtual instrument requests', error));
Pagination
You can achieve pagination by combining the limit
and offset
filters. For instance, implementing pagination with a page size of 10 results per page would involve configuring:
- Page 1: limit=10, offset=0
const virtualInstrumentRequestsParameters: VirtualInstrumentRequestsParameters = {
limit: 10,
offset: 0,
accountId: '123234',
instrumentType: VirtualInstrumentType.US_BANK_ACCOUNT
}; - Page 2: limit=10, offset=10
- Page 3: limit=10, offset=20