@bebapps/rapyd-sdk
Version:
An un-official [Rapyd](https://rapyd.net) SDK for Node.js.
56 lines (49 loc) • 2.68 kB
text/typescript
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>();
}