UNPKG

@bebapps/rapyd-sdk

Version:

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

58 lines (50 loc) 2.52 kB
import { RapydClient } from '../../../core/RapydClient'; import { Refund } from '../types/Refund'; import { RefundError } from '../enums/RefundError'; import { CreateRefundRequest } from '../requests/CreateRefundRequest'; import { UpdateRefundRequest } from '../requests/UpdateRefundRequest'; import { CompleteRefundRequest } from '../requests/CompleteRefundRequest'; import { RetrieveRefundRequest } from '../requests/RetrieveRefundRequest'; import { ListRefundsRequest } from '../requests/ListRefundsRequest'; import { ListRefundsByPaymentIDRequest } from '../requests/ListRefundsByPaymentIDRequest'; export async function createRefund<R = Refund>(client: RapydClient, request: CreateRefundRequest): Promise<R> { const response = await client.post('/v1/refunds', { amount: request.amount, ewallets: request.ewallets, merchant_reference_id: request.merchant_reference_id, metadata: request.metadata, payment: request.payment, reason: request.reason, }); return await response.data<R, RefundError>(); } export async function updateRefund<R = Refund>(client: RapydClient, request: UpdateRefundRequest): Promise<R> { const response = await client.post('/v1/refunds/{}', request.refund, { metadata: request.metadata, }); return await response.data<R, RefundError>(); } export async function completeRefund<R = Refund>(client: RapydClient, request: CompleteRefundRequest): Promise<R> { const response = await client.post('/v1/refunds/complete', { token: request.token, }); return await response.data<R, RefundError>(); } export async function retrieveRefund<R = Refund>(client: RapydClient, request: RetrieveRefundRequest): Promise<R> { const response = await client.get('/v1/refunds/{}', request.refund); return await response.data<R, RefundError>(); } export async function listRefunds<R = Refund>(client: RapydClient, request: ListRefundsRequest): Promise<R> { const queryParams = client.queryParams({ ending_before: request.ending_before, limit: request.limit, starting_after: request.starting_after, }); const response = await client.get('/v1/refunds' + queryParams); return await response.data<R, RefundError>(); } export async function listRefundsByPaymentID<R = Refund>(client: RapydClient, request: ListRefundsByPaymentIDRequest): Promise<R> { const queryParams = client.queryParams({ payment: request.payment }); const response = await client.get('/v1/refunds' + queryParams); return await response.data<R, RefundError>(); }