UNPKG

@bebapps/rapyd-sdk

Version:

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

79 lines (69 loc) 3.44 kB
import { RapydClient } from '../../../core/RapydClient'; import { IssuedCard } from '../types/IssuedCard'; import { IssueCardRequest } from '../requests/IssueCardRequest'; import { ActivateIssuedCardRequest } from '../requests/ActivateIssuedCardRequest'; import { UpdateCardStatusRequest } from '../requests/UpdateCardStatusRequest'; import { SetPINCodeRequest } from '../requests/SetPINCodeRequest'; import { PersonalizeIssuedCardRequest } from '../requests/PersonalizeIssuedCardRequest'; import { ListIssuedCardsRequest } from '../requests/ListIssuedCardsRequest'; import { RetrieveIssuedCardDetailsRequest } from '../requests/RetrieveIssuedCardDetailsRequest'; import { SimulateBlockingACardRequest } from '../requests/SimulateBlockingACardRequest'; export async function issueCard<R = IssuedCard>(client: RapydClient, request: IssueCardRequest): Promise<R> { const response = await client.post('/v1/issuing/cards', { card_program: request.card_program, country: request.country, ewallet_contact: request.ewallet_contact, expiration_month: request.expiration_month, expiration_year: request.expiration_year, metadata: request.metadata, }); return await response.data<R, Error>(); } export async function activateIssuedCard<R = IssuedCard>(client: RapydClient, request: ActivateIssuedCardRequest): Promise<R> { const response = await client.post('/v1/issuing/cards/activate', { card: request.card, }); return await response.data<R, Error>(); } export async function updateCardStatus<R = IssuedCard>(client: RapydClient, request: UpdateCardStatusRequest): Promise<R> { const response = await client.post('/v1/issuing/cards/status', { card: request.card, status: request.status, blocked_reason: request.blocked_reason, }); return await response.data<R, Error>(); } export async function setPINCode<R = IssuedCard>(client: RapydClient, request: SetPINCodeRequest): Promise<R> { const response = await client.post('/v1/issuing/cards/pin', { card: request.card, new_pin: request.new_pin, }); return await response.data<R, Error>(); } export async function personalizeIssuedCard<R = IssuedCard>(client: RapydClient, request: PersonalizeIssuedCardRequest): Promise<R> { const response = await client.post('/v1/issuing/cards/personalize', { card_number: request.card_number, ewallet_contact: request.ewallet_contact, }); return await response.data<R, Error>(); } export async function listIssuedCards<R = IssuedCard>(client: RapydClient, request: ListIssuedCardsRequest): Promise<R> { const queryParams = client.queryParams({ contact: request.contact, page_number: request.page_number, page_size: request.page_size, }); const response = await client.get('/v1/issuing/cards' + queryParams); return await response.data<R, Error>(); } export async function retrieveIssuedCardDetails<R = IssuedCard>(client: RapydClient, request: RetrieveIssuedCardDetailsRequest): Promise<R> { const response = await client.get('/v1/issuing/cards/{}', request.card); return await response.data<R, Error>(); } export async function simulateBlockingACard<R = IssuedCard>(client: RapydClient, request: SimulateBlockingACardRequest): Promise<R> { const response = await client.post('/v1/issuing/cards/simulate_block', { card_id: request.card_id, blocked_reason: request.blocked_reason, }); return await response.data<R, Error>(); }