UNPKG

@bebapps/rapyd-sdk

Version:

An un-official [Rapyd](https://rapyd.net) SDK for Node.js.

56 lines (49 loc) 2.68 kB
import { RapydClient } from '../../../core/RapydClient'; import { ServiceProvider } from '../types/ServiceProvider'; import { ServiceProviderError } from '../enums/ServiceProviderError'; import { ListServiceProvidersRequest } from '../requests/ListServiceProvidersRequest'; import { RetrieveServiceProviderDetailsRequest } from '../requests/RetrieveServiceProviderDetailsRequest'; import { ValidateServiceProviderAccountRequest } from '../requests/ValidateServiceProviderAccountRequest'; import { PayServiceProviderRequest } from '../requests/PayServiceProviderRequest'; import { CheckConsumerAccountBalanceRequest } from '../requests/CheckConsumerAccountBalanceRequest'; export async function listServiceProviders<R = ServiceProvider>(client: RapydClient, request: ListServiceProvidersRequest): Promise<R> { const queryParams = client.queryParams({ catalog_sub_type: request.catalog_sub_type, catalog_type: request.catalog_type, country: request.country, currency: request.currency, limit: request.limit, }); const response = await client.get('/v1/service_provider/catalog' + queryParams); return await response.data<R, ServiceProviderError>(); } export async function retrieveServiceProviderDetails<R = ServiceProvider>(client: RapydClient, request: RetrieveServiceProviderDetailsRequest): Promise<R> { const response = await client.get('/v1/service_provider/catalog/{}', request.service_provider); return await response.data<R, ServiceProviderError>(); } export async function validateServiceProviderAccount<R = ServiceProvider>(client: RapydClient, request: ValidateServiceProviderAccountRequest): Promise<R> { const response = await client.post('/v1/service_provider/catalog/validate', { fields: request.fields, type: request.type, }); return await response.data<R, ServiceProviderError>(); } export async function payServiceProvider<R = ServiceProvider>(client: RapydClient, request: PayServiceProviderRequest): Promise<R> { const response = await client.post('/v1/service_provider/catalog/pay', { amount: request.amount, currency: request.currency, description: request.description, ewallet: request.ewallet, fields: request.fields, metadata: request.metadata, type: request.type, }); return await response.data<R, ServiceProviderError>(); } export async function checkConsumerAccountBalance<R = ServiceProvider>(client: RapydClient, request: CheckConsumerAccountBalanceRequest): Promise<R> { const response = await client.post('/v1/service_provider/catalog/balance', { fields: request.fields, type: request.type, }); return await response.data<R, ServiceProviderError>(); }