UNPKG

nasspay

Version:

TypeScript/JavaScript SDK for integrating with the Nass Merchant Payment Gateway. Supports both Portal and Direct API integration methods with comprehensive type definitions.

147 lines (146 loc) 3.39 kB
export type Environment = "UAT" | "PRODUCTION"; export interface AuthCredentials { username: string; password: string; } export interface AuthResponse { access_token: string; } export interface PortalTransactionRequest { orderId: string; orderDesc: string; amount: number; currency: string; transactionType: string; backRef: string; notifyUrl?: string; } export interface PortalTransactionResponse { success: boolean; code: number; status_code: number; data: { url: string; pSign: string; transactionParams: { TERMINAL: string; TRTYPE: string; AMOUNT: string; TIMESTAMP: string; NONCE: string; CURRENCY: string; ORDER: string; DESC: string; MERCH_NAME: string; MERCH_URL: string; EMAIL: string; COUNTRY: string; MERCH_GMT: string; BACKREF: string; }; }; } export interface CallbackResponse { terminal: string; actionCode: string; responseCode: string; statusMsg: string; card: string; amount: string; currency: string; tranDate: string; rrn: string; intRef: string; nonce: string; signature: string; orderId: string; timestamp: string; } export interface StatusCheckResponse { success: boolean; code: number; status_code: number; data: { terminal: string; actionCode: string; responseCode: string; statusMsg: string; card: string; amount: string; currency: string; tranDate: string; rrn: string; intRef: string; nonce: string; signature: string; timestamp: string; }; } export interface DirectApiTransactionInitRequest { orderId: string; orderDesc: string; amount: number; currency: string; transactionType: string; } export interface DirectApiTransactionInitResponseData { url: string; pSign: string; transactionParams: { TERMINAL: string; TRTYPE: string; AMOUNT: string; TIMESTAMP: string; NONCE: string; CURRENCY: string; ORDER: string; DESC: string; MERCH_NAME: string; MERCH_URL: string; EMAIL: string; COUNTRY: string; MERCH_GMT: string; BACKREF: string; }; } export interface DirectApiTransactionInitResponse { success: boolean; code: number; status_code: number; data: DirectApiTransactionInitResponseData; } export interface CardDetails { pan: string; expMonth: string; expYear: string; cvc2: string; cardholderName?: string; cvc2ReasonCode?: "0" | "1" | "2" | "9"; } export interface DirectApiCardholderDataRequest { card: string; expMonth: string; expYear: string; currency: string; name?: string; trtype: string; terminal: string; desc: string; cvc2_rc?: "0" | "1" | "2" | "9"; orderId: string; timestamp: string; nonce: string; p_sign: string; amount: string; cvc2: string; backRefUrl: string; } export interface TransactionError { responseCode: string; description: string; } export interface NassErrorResponse { message: string; code?: number; status?: number; }