@bebapps/rapyd-sdk
Version:
An un-official [Rapyd](https://rapyd.net) SDK for Node.js.
52 lines (44 loc) • 3.18 kB
text/typescript
import { RapydClient } from '../../../core/RapydClient';
import { VirtualAccountNumber } from '../types/VirtualAccountNumber';
import { VirtualAccountNumberError } from '../enums/VirtualAccountNumberError';
import { IssueVirtualAccountNumberToWalletRequest } from '../requests/IssueVirtualAccountNumberToWalletRequest';
import { SimulateABankTransferToAWalletRequest } from '../requests/SimulateABankTransferToAWalletRequest';
import { RetrieveVirtualAccountHistoryRequest } from '../requests/RetrieveVirtualAccountHistoryRequest';
import { RetrieveVirtualAccountTransactionRequest } from '../requests/RetrieveVirtualAccountTransactionRequest';
import { ListRemittersToVirtualAccountNumberRequest } from '../requests/ListRemittersToVirtualAccountNumberRequest';
import { RetrieveRemitterDetailsRequest } from '../requests/RetrieveRemitterDetailsRequest';
export async function issueVirtualAccountNumberToWallet<R = VirtualAccountNumber>(client: RapydClient, request: IssueVirtualAccountNumberToWalletRequest): Promise<R> {
const response = await client.post('/v1/issuing/bankaccounts', {
country: request.country,
currency: request.currency,
description: request.description,
ewallet: request.ewallet,
merchant_reference_id: request.merchant_reference_id,
metadata: request.metadata,
});
return await response.data<R, VirtualAccountNumberError>();
}
export async function simulateABankTransferToAWallet<R = VirtualAccountNumber>(client: RapydClient, request: SimulateABankTransferToAWalletRequest): Promise<R> {
const response = await client.post('/v1/issuing/bankaccounts/bankaccounttransfertobankaccount', {
amount: request.amount,
currency: request.currency,
issued_bank_account: request.issued_bank_account,
});
return await response.data<R, VirtualAccountNumberError>();
}
export async function retrieveVirtualAccountHistory<R = VirtualAccountNumber>(client: RapydClient, request: RetrieveVirtualAccountHistoryRequest): Promise<R> {
const response = await client.get('/v1/issuing/bankaccounts/{}', request.issued_bank_account);
return await response.data<R, VirtualAccountNumberError>();
}
export async function retrieveVirtualAccountTransaction<R = VirtualAccountNumber>(client: RapydClient, request: RetrieveVirtualAccountTransactionRequest): Promise<R> {
const response = await client.get('/v1/issuing/bankaccounts/{}/transactions/{}', request.issued_bank_account, request.transaction);
return await response.data<R, VirtualAccountNumberError>();
}
export async function listRemittersToVirtualAccountNumber<R = VirtualAccountNumber>(client: RapydClient, request: ListRemittersToVirtualAccountNumberRequest): Promise<R> {
const response = await client.get('/v1/issuing/bankaccounts/[issued_bank_account]/remitters');
return await response.data<R, VirtualAccountNumberError>();
}
export async function retrieveRemitterDetails<R = VirtualAccountNumber>(client: RapydClient, request: RetrieveRemitterDetailsRequest): Promise<R> {
const response = await client.get('/v1/issuing/bankaccounts/remitters/[bankaccount]/transactions/[transaction]');
return await response.data<R, VirtualAccountNumberError>();
}