UNPKG

gapp-payment-method-flow

Version:

Mobile Gapp flow for Payment Method

105 lines (99 loc) 2.76 kB
import type { AxiosInstance } from 'axios'; export type TDataLoadType = | 'json-stab' | 'network-service' | 'network-service-config'; export type TValueOut = { loading: boolean; paymentMethod: { id?: number | string; text?: string; value?: number | string | boolean; [x: string]: any; }; cardDetails: { cardNumber?: string; mm?: string; yy?: string; cvv?: string; paymentTokenId?: null | string; state?: string; isSavedCard?: boolean; }; errorResponse: { [x: string]: any; }; savedCard: { id?: number | string; name?: string; card_number?: string; promo?: string | never; value?: { cardNumber?: string; cvv?: string; mm?: string; name?: string; yy?: string; }; }; savedCards?: { id?: number | string; name?: string; card_number?: string; promo?: string | never; value?: { cardNumber?: string; cvv?: string; mm?: string; name?: string; yy?: string; }; }[]; defaultCardId?: number | string; }; export type TDataOut = (args: any) => void; export interface IModel { dataLoad: { /**list of payment method data. Applicable for dataloadType=`json-stab` */ data?: any; /**baseurl for getAll endpoint. Applicable for dataloadType=`network-service-config` */ baseUrl?: string; /**set axios instance. Applicable for dataloadType=`network-service` */ axios?: AxiosInstance; axiosCardValidate?: AxiosInstance; /**list of endpoints. Applicable for dataloadType=`network-service` or `network-service-config` */ endpoints?: { getAll: string; }; /**Applicable for dataloadType=`network-service` or `network-service-config` */ validateCardUrl?: string; cardValidationToken?: string; [x: string]: any; }; dataIn: { /**choices what dataLoad should be apply */ dataLoadType: TDataLoadType; /**activating server request to validate card form. */ isCardValidate?: boolean; /**function that reconstruct payment method list. should return list. */ constructData?: (args: Array<any>, args2?: Array<any>) => Array<any>; /**initialRouteName for StackNavigator */ initialRouteName?: string; /**modify mini-app and gapp. able to use with the combination of Stack */ screens?: { stackName?: string; stackOptions?: { [x: string]: any; }; dataLoad?: any; dataIn?: any; dataOut?: TDataOut; [x: string]: any; }[]; [x: string]: any; }; dataOut: TDataOut; } export interface TPaymentMethodGAppFlow extends IModel { children: any; }