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