export interface BillItems { itemId: string; description: string; quantity: string; price: string; } export interface MerchantInfo { merchantCode: string; merchantSecretCode?: string; merchantRefNum: string; } export interface CustomerInfo { customerName: string; customerMobile: string; customerEmail: string; customerProfileId: string; } export interface LaunchApplePayModel { merchantID: string; } export interface LaunchCheckoutModel { scheme: string; } export interface FawryLaunchModel { baseUrl: string; lang: FawryLanguages; merchantInfo: MerchantInfo; customerInfo: CustomerInfo; items: BillItems[]; allow3DPayment: boolean; skipReceipt: boolean; skipLogin: boolean; skipCustomerInput?: boolean; payWithCardToken: boolean; authCaptureMode: boolean; allowVoucher: boolean; paymentSignature?: string; tokenizationSignature?: string; paymentMethod?: string; launchApplePayModel?: LaunchApplePayModel; launchCheckoutModel?: LaunchCheckoutModel; } export type FawryLanguages = 'ENGLISH' | 'ARABIC'; export type FawryPayListener = (eventName: string, payload: string) => void