UNPKG

frm-widget

Version:

An embeddable Fraud Risk Management - Login & Transaction

183 lines (182 loc) 5.05 kB
export type UserDetails = { userId: string; secret: string; accountId?: string | null; }; export type LogMessage = { action: string; message: string; code: number; data?: unknown; }; export type FRMWidgetProps = { baseUrl: string; ipInfoToken: string; type: "login" | "transaction" | "updateMFAStatus"; userDetails: UserDetails; trackingId?: string; paymentMode?: "NETBANKING" | "UPI" | "CARD" | "ATM" | ""; transactionDetails?: TransactionDetails; onMessage: (arg: LogMessage) => void; pageLoadTime?: number; jwt?: undefined | string; mfaType?: "default" | "custom"; mfaStatus?: "pending" | "success" | "decline" | "failed"; }; export type UserInfo = { userid?: string; accountid?: string; email?: string; phone?: string; }; export type LoginResultData = { actionNeeded?: string; trackingId?: string; jwt?: string; userId?: string; authType?: string; user?: { userid?: string; accountid?: string; email?: string; phone?: string; [key: string]: unknown; }; action?: actionTypes; }; export type actionTypes = "byPassMFA" | "requiredMFA" | "decline" | "review" | "Require MFA"; export type DeviceResultData = { deviceId?: string; }; export type ApiResponse = { resultCode?: number; resultData?: LoginResultData; resultMessage?: string; timestamp?: Date | string; transaction_currency: string; }; export interface User { userid: string; accountid: string; } export interface MFADialogProps { open: boolean; onClose: () => void; baseUrl: string; handleFinalCall: (status: number) => void; responseData: LoginResultData | undefined; deviceData: DeviceInfo | null; logAction: (action: string, message: string, code: number, data?: unknown) => void; userDetails: UserDetails; } export interface CircularProgressWithLabelProps { value: number; } export interface DataJSONBodyProps { type: number; device_id?: string; device_type?: string; operating_system_and_version?: string; browser_version?: string; ip_address?: string; latitude?: string | number; longitude?: string | number; timestamp: string; time_taken_to_login?: number; time_taken_to_complete_transaction?: number; screen_resolution?: string; transaction_amount?: string; transaction_type?: string; recipient_details?: string; recipient_bank_name?: string; transaction_category?: string; transaction_currency?: string; transaction_frequency?: string; recipient_account_no?: string | number; wallet_id?: string; payment_mode?: string; upi_id?: string; recipient_ifsc_code?: string; ifsc_code?: string; sender_upi_id?: string; account_no?: number | string; bank_name?: number | string; debit_card_no?: number | string; debit_card_expiry?: string; debit_card_cvv?: number | string; credit_card_no?: number | string; credit_card_expiry?: string; credit_card_cvv?: number | string; device_fingerprint?: string; device_model?: string; isp_name?: string; network_type?: string; time_zone?: string; vpn_check?: string; } export interface DeviceInfo extends GenericObject { latitude: string | number; longitude: string | number; carrier_name: string; browser_name: string; device_type: string; engine_name: string; mobile_vendor: string; os_name: string; screen_resolution: string; device_language: string; device_id: string; [key: string]: unknown; } export interface GeolocationData { ip?: string; loc?: string; latitude?: string; longitude?: string; postal?: string; org?: string; privacy?: { vpn?: boolean; }; [key: string]: unknown; } export type MimeType = { pattern: string; mime: string; }; export type GenericObject<T = unknown> = { [key: string]: T; }; export interface TransactionDetails extends GenericObject { time_taken_to_complete_transaction?: number; screen_resolution?: string; transaction_amount?: string; transaction_type?: string; recipient_details?: string; recipient_bank_name?: string; transaction_category?: string; transaction_currency?: string; transaction_frequency?: string; recipient_account_no?: string | number; transactionId?: string; wallet_id?: string; payment_mode?: string; upi_id?: string; recipient_ifsc_code?: string; ifsc_code?: string; sender_upi_id?: string; account_no?: number | string; bank_name?: number | string; debit_card_no?: number | string; debit_card_expiry?: string; debit_card_cvv?: number | string; credit_card_no?: number | string; credit_card_expiry?: string; credit_card_cvv?: number | string; device_fingerprint?: string; device_model?: string; isp_name?: string; network_type?: string; time_zone?: string; vpn_check?: string; }