mn-payment
Version:
181 lines (176 loc) • 4.61 kB
TypeScript
type Token = {
access_token: string;
refresh_token: string;
refresh_expires_in?: number;
expires_in: number;
};
type SaveToken = (token: Token) => Promise<void>;
type CreateInvoiceRequestInput$1 = {
sender_invoice_no: string;
invoice_receiver_code: string;
invoice_description: string;
amount: number;
callback_url: string;
};
type InvoiceResponse$1 = {
invoice_id: string;
qr_text: string;
qr_image: string;
qPay_shortUrl: string;
urls: {
name: string;
description: string;
logo: string;
link: string;
}[];
};
type InvoiceCheckResponse$2 = {
count: number;
paid_amount: number;
rows: Array<{
payment_id: string;
payment_status: string;
payment_amount: string;
trx_fee: string;
payment_currency: string;
payment_wallet: string;
payment_type: string;
next_payment_date: any;
next_payment_datetime: any;
card_transactions: Array<any>;
p2p_transactions: Array<{
id: string;
transaction_bank_code: string;
account_bank_code: string;
account_bank_name: string;
account_number: string;
status: string;
amount: string;
currency: string;
settlement_status: string;
}>;
}>;
};
declare class Qpay {
private username;
private password;
private invoiceCode;
private saveToken?;
private baseUrl;
constructor(username: string, password: string, invoiceCode: string, saveToken?: SaveToken);
private login;
private getRefreshToken;
private checkToken;
createInvoice(input: CreateInvoiceRequestInput$1, token?: Token): Promise<{
data: InvoiceResponse$1;
token: Token;
}>;
checkInvoice(invoiceId: string, token?: Token): Promise<{
data: InvoiceCheckResponse$2;
token: Token;
}>;
}
type CreateInvoiceRequestInput = {
storeId: number;
mobileNumber: number;
description: string;
amount: number;
callbackUrl?: string;
requestId?: string;
};
type InvoiceResponse = {
value: number;
data: {};
msgList: Array<string>;
attrs: {};
status: string;
};
type TokenResponse = {
access_token: string;
token_type: string;
refresh_token: string;
expires_in: number;
scope: string;
current_store_id: any;
user_id: number;
role_id: {
id: number;
code: string;
description: string;
authority: string;
};
jti: string;
};
type InvoiceCheckResponse$1 = {
value: boolean;
data: {};
msgList: Array<string>;
attrs: {};
status: string;
};
declare class StorePay {
private username;
private password;
private appUsername;
private appPassword;
private baseUrl;
private saveToken?;
constructor(username: string, password: string, appUsername: string, appPassword: string, saveToken?: SaveToken);
login(): Promise<TokenResponse>;
private checkToken;
createInvoice(input: CreateInvoiceRequestInput, token?: Token): Promise<{
data: InvoiceResponse;
token: Token;
}>;
checkInvoice(invoiceId: string, token?: Token): Promise<{
data: InvoiceCheckResponse$1;
token: Token;
}>;
}
type CreateInvoiceInput = {
amount: number;
description: string;
customData: unknown;
callbackUrl: string;
};
type CreateInvoiceResponse = {
success: boolean;
data: {
status: 'open' | 'paid' | 'void';
amount: number;
invoiceNumber: string;
customData: {
qrCode: string;
callbackUrl: string;
};
};
};
type InvoiceCheckResponse = {
success: boolean;
data: {
invoiceNumber: string;
status: 'open' | 'paid' | 'void';
amount: number;
qrCode: string;
description: string;
};
};
declare class UbPay {
private clientId;
private clientSecret;
private saveToken?;
private baseUrl;
constructor(clientId: string, clientSecret: string, saveToken?: SaveToken, baseUrl?: string);
login(): Promise<Token>;
getRefreshToken(token: Token): Promise<Token>;
private checkToken;
createInvoice(input: CreateInvoiceInput, token?: Token): Promise<{
data: CreateInvoiceResponse;
token: Token;
}>;
checkInvoice(invoiceId: string, token?: Token): Promise<{
data: InvoiceCheckResponse;
token: Token;
}>;
}
export { Qpay, type SaveToken, StorePay, type Token, UbPay };