import type { Double } from 'react-native/Libraries/Types/CodegenTypes'; import { MFCurrencyISO, MFFontFamily, MFFontWeight, MFLanguage, MFRecurringType } from './MFEnums'; import { ProcessedColorValue } from 'react-native'; export declare class MFInitiatePaymentRequest { constructor(invoiceAmount: Double, currencyIso: MFCurrencyISO); InvoiceAmount: Double; CurrencyIso: MFCurrencyISO; } export declare class MFInitiatePaymentResponse { PaymentMethods: MFPaymentMethod[] | null; } export declare class MFPaymentMethod { PaymentMethodId: number | null; PaymentMethodAr: String | null; PaymentMethodEn: String | null; PaymentMethodCode: String | null; IsDirectPayment: Boolean | null; ServiceCharge: Double | null; TotalAmount: Double | null; CurrencyIso: String | null; ImageUrl: string | null; IsEmbeddedSupported: Boolean | null; PaymentCurrencyIso: String | null; } export declare class MFSendPaymentRequest { constructor(invoiceValue: number, notificationOption: string, customerName: string); InvoiceValue: number; NotificationOption: string; CustomerName: string; MobileCountryCode: String | null; CustomerMobile: String | null; CustomerEmail: String | null; DisplayCurrencyIso: String | null; Language: MFLanguage; CustomerReference: String | null; CustomerCivilId: String | null; UserDefinedField: String | null; CustomerAddress: MFCustomerAddress | null; ExpiryDate: String | null; InvoiceItems: MFInvoiceItem[] | null; WebhookUrl: String | null; } export declare class MFCustomerAddress { constructor(block: String | null, street: String | null, houseBuildingNo: String | null, address: String | null, addressInstructions: String | null); Block: String | null; Street: String | null; HouseBuildingNo: String | null; Address: String | null; AddressInstructions: String | null; } export declare class MFInvoiceItem { constructor(itemName: String, quantity: number, unitPrice: Double); ItemName: String; Quantity: number; UnitPrice: Double; } export declare class MFSupplier { constructor(supplierCode: number | null, invoiceShare: Double | null, proposedShare?: Double | null); SupplierCode: number | null; ProposedShare: Double | null; InvoiceShare: Double | null; } export declare class MFSendPaymentResponse { InvoiceId: number | null; InvoiceURL: String | null; CustomerReference: String | null; UserDefinedField: String | null; } export declare class MFExecutePaymentRequest { constructor(invoiceValue: number); InvoiceValue: number; PaymentMethodId: number | null; SessionId: String | null; CustomerName: String | null; DisplayCurrencyIso: String | null; MobileCountryCode: String | null; CustomerMobile: String | null; CustomerEmail: String | null; Language: MFLanguage | null; CustomerReference: String | null; CustomerCivilId: String | null; UserDefinedField: String | null; CustomerAddress: MFCustomerAddress | null; ExpiryDate: String | null; InvoiceItems: MFInvoiceItem[] | null; Suppliers: MFSupplier[] | null; RecurringModel: MFRecurringModel | null; ProcessingDetails: MFProcessingDetails | null; WebhookUrl: String | null; } export declare class MFExecutePaymentResponse { InvoiceId: number | null; IsDirectPayment: Boolean | null; PaymentURL: String | null; CustomerReference: String | null; UserDefinedField: String | null; RecurringId: String | null; } export declare class MFRecurringModel { constructor(mFRecurringType: MFRecurringType, iteration?: number | null); RecurringType: MFRecurringType | null; IntervalDays: number | null; Iteration: number | null; } export declare class MFProcessingDetails { constructor(autoCapture?: Boolean | null, bypass3DS?: Boolean | null); AutoCapture: Boolean | null; Bypass3DS: Boolean | null; } export declare class MFPaymentWithTokenRequest { constructor(executePaymentRequest: MFExecutePaymentRequest, token: String, securityCode?: String | null); ExecutePaymentRequest: MFExecutePaymentRequest; Token: String; SecurityCode: String | null; } export declare class MFGetPaymentStatusRequest { constructor(key: string, keyType: string); Key: String | null; KeyType: String | null; } export declare class MFGetPaymentStatusResponse { InvoiceId: number | null; InvoiceStatus: String | null; InvoiceReference: String | null; CustomerReference: String | null; CreatedDate: String | null; ExpiryDate: String | null; InvoiceValue: Double | null; Comments: String | null; CustomerName: String | null; CustomerMobile: String | null; CustomerEmail: String | null; UserDefinedField: String | null; InvoiceDisplayValue: String | null; InvoiceItems: MFInvoiceItem[] | null; InvoiceTransactions: MFInvoiceTransaction[] | null; Suppliers: MFSupplierItem[] | null; RecurringId: String | null; } export declare class MFInvoiceTransaction { TransactionDate: String | null; PaymentGateway: String | null; ReferenceId: String | null; TrackId: String | null; TransactionId: String | null; PaymentId: String | null; AuthorizationId: String | null; TransactionStatus: String | null; TransationValue: String | null; CustomerServiceCharge: String | null; DueValue: String | null; PaidCurrency: String | null; PaidCurrencyValue: String | null; Currency: String | null; Error: String | null; CardNumber: String | null; ErrorCode: String | null; } export declare class MFSupplierItem { SupplierCode: number | null; SupplierName: String | null; InvoiceShare: Double | null; ProposedShare: Double | null; DepositShare: Double | null; } export declare class MFInitiateSessionRequest { constructor(customerIdentifier: string); CustomerIdentifier: string; SaveToken: Boolean | null; IsRecurring: Boolean; } export declare class MFInitiateSessionResponse { SessionId: String | null; CountryCode: String | null; CustomerTokens: CustomerTokens[]; } export declare class CustomerTokens { Token: String | null; CardNumber: String | null; CardBrand: String | null; Is3DSVerified: Boolean; } export declare class MFCallbackResponse { CardBrand: String | null; } export declare class MFDirectPaymentRequest { constructor(executePaymentRequest: MFExecutePaymentRequest, token: string | null, card: MFCardRequest | null); ExecutePaymentRequest: MFExecutePaymentRequest; Card: MFCardRequest | null; Token: string | null; SaveToken: boolean | null; Bypass3DS: boolean | null; } export declare class MFCardRequest { constructor(Number: string, ExpiryMonth: string, ExpiryYear: string, SecurityCode: string, CardHolderName: string); Number: string; ExpiryMonth: string; ExpiryYear: string; SecurityCode: string; CardHolderName: string; } export declare class MFDirectPaymentResponse { MfPaymentStatusResponse: MFGetPaymentStatusResponse; CardInfoResponse: DirectPaymentResponse; } export declare class DirectPaymentResponse { Status: String | null; ErrorMessage: String | null; PaymentId: String | null; Token: String | null; RecurringId: String | null; CardInfo: CardInfo | null; PaymentURL: String | null; } export declare class CardInfo { Number: String | null; ExpiryMonth: String | null; ExpiryYear: String | null; Brand: String | null; Issuer: String | null; } export declare class MFError { code: String | null; message: String | null; } export declare class MFSubmitCardViewResponse { CardBrand: String | null; SessionId: String | null; CardIdentifier?: String | null; CardToken?: String | null; } export declare class MFCardViewStyle { constructor(hideCardIcons?: Boolean, direction?: String, cardHeight?: number, input?: MFCardViewInput, label?: MFCardViewLabel, error?: MFCardViewError); HideCardIcons: Boolean; Direction: String; CardHeight: number; BackgroundColor: ProcessedColorValue | null | undefined; TokenHeight: number; Input: MFCardViewInput; Text: MFSavedCardText; Label: MFCardViewLabel; Error: MFCardViewError; /** * V3 card view only: whether to show the cardholder-name field. Ignored by the * legacy (V2) MFCardPaymentView. Defaults to true. */ ShowCardholderName: Boolean; } export declare class MFSavedCardText { constructor(saveCardText?: String, addCardText?: String, deleteAlertText?: MFDeleteAlert); SaveCardText: String; AddCardText: String; DeleteAlertText: MFDeleteAlert; } export declare class MFDeleteAlert { constructor(title?: String, message?: String, confirm?: String, cancel?: String); Title: String; Message: String; Confirm: String; Cancel: String; } export declare class MFCardViewInput { constructor(color?: ProcessedColorValue | null | undefined, fontSize?: number, fontFamily?: MFFontFamily, inputHeight?: number, inputMargin?: number, borderColor?: ProcessedColorValue | null | undefined, borderWidth?: number, borderRadius?: number, boxShadow?: MFBoxShadow, placeHolder?: MFCardViewPlaceHolder); Color: ProcessedColorValue | null | undefined; FontSize: number; FontFamily: MFFontFamily; BackgroundColor: ProcessedColorValue | null | undefined; InputHeight: number; InputMargin: number; BorderColor: ProcessedColorValue | null | undefined; BorderWidth: number; BorderRadius: number; OuterRadius: number | null; BoxShadow: MFBoxShadow; PlaceHolder: MFCardViewPlaceHolder; } export declare class MFCardViewPlaceHolder { constructor(holderName?: String, cardNumber?: String, expiryDate?: String, securityCode?: String); Color: ProcessedColorValue | null | undefined; HolderName: String; CardNumber: String; ExpiryDate: String; SecurityCode: String; } export declare class MFCardViewLabel { constructor(display?: Boolean, color?: ProcessedColorValue | null | undefined, fontSize?: number, fontFamily?: MFFontFamily, fontWeight?: MFFontWeight, text?: MFCardViewText); Display: Boolean; Color: ProcessedColorValue | null | undefined; FontSize: number; FontFamily: MFFontFamily; FontWeight: MFFontWeight; Text: MFCardViewText; } export declare class MFCardViewText { constructor(holderName?: String, cardNumber?: String, expiryDate?: String, securityCode?: String); HolderName: String; CardNumber: String; ExpiryDate: String; SecurityCode: String; } export declare class MFCardViewError { constructor(borderColor?: ProcessedColorValue | null | undefined, borderRadius?: number, boxShadow?: MFBoxShadow); BorderColor: ProcessedColorValue | null | undefined; BorderRadius: number; BoxShadow: MFBoxShadow; } export declare class MFBoxShadow { constructor(hOffset?: number, vOffset?: number, blur?: number, spread?: number, color?: ProcessedColorValue | null | undefined); HOffset: number; VOffset: number; Blur: number; Spread: number; Color: ProcessedColorValue | null | undefined; } export declare class MFApplePayStyle { constructor(height: number | null | undefined, borderRadius: number | null | undefined, buttonText: String | null | undefined, hideLoadingIndicator: Boolean | undefined); Height: number | null | undefined; BorderRadius: number | null | undefined; ButtonText: String | null | undefined; HideLoadingIndicator: Boolean | null | undefined; VendorName: String | null | undefined; } export declare class MFApplePayRequest { constructor(merchantId: string, companyName: string, amount: number, currencyCode: string); MerchantId: string; CompanyName: string; Amount: number; CurrencyCode: string; CustomerIdentifier: string | null; SupportedCountries: [string] | null; SupportedNetworks: [string] | null; } export declare class MFApplePayToken { Token: string; } export declare class MFGooglePayRequest { constructor(totalPrice: String, merchantId: String, merchantName: String, countryCode: String, currencyIso: String); TotalPrice: String; MerchantId: String; MerchantName: String; CountryCode: String; CurrencyIso: String; } export declare class MFGooglePayButtonStyle { } /** Order block echoed inside a session. */ export interface MFV3Order { Amount?: number; Currency?: string; ExternalIdentifier?: string; } /** A saved card token attached to a customer, returned inside a session. */ export interface MFV3SavedCard { Is3DSVerified?: boolean; Token?: string; Number?: string; Brand?: string; TokenType?: string; NameOnCard?: string; ExpiryMonth?: string; ExpiryYear?: string; } /** Customer block returned inside a session response. */ export interface MFV3SessionCustomer { Reference?: string; Cards?: MFV3SavedCard[]; } /** * A V3 session. Returned by MFV3Session.create/createVerify (SDK path) or built by * MFV3Session.fromBackend(sessionId, encryptionKey?) (backend path). Pass it to * MFCardViewV3.load(). * * Note: SessionId must be the full country-prefixed id (e.g. "KWT-abc123"). */ export interface MFV3SessionData { SessionId: string; SessionExpiry?: string; /** Used by the SDK to decrypt the inline (non-3DS) result. */ EncryptionKey?: string; OperationType?: string; Order?: MFV3Order; Customer?: MFV3SessionCustomer; } /** Card details returned by the widget in COLLECT_DETAILS mode. */ export interface MFV3CardDetails { Brand?: string; PanHash?: string; Token?: string; Number?: string; NameOnCard?: string; ExpiryYear?: string; ExpiryMonth?: string; Issuer?: string; IssuerCountry?: string; FundingMethod?: string; ProductName?: string; } /** User-defined fields echoed with an invoice. */ export interface MFV3ResultMetaData { UDF1?: string; UDF2?: string; UDF3?: string; UDF4?: string; UDF5?: string; } export interface MFV3Invoice { Id?: string; Status?: string; Reference?: string; CreationDate?: string; ExpirationDate?: string; ExternalIdentifier?: string; UserDefinedField?: string; MetaData?: MFV3ResultMetaData; } export interface MFV3TransactionError { Code?: string; Message?: string; } export interface MFV3IP { Address?: string; Country?: string; } export interface MFV3TransactionCard { NameOnCard?: string; Number?: string; PanHash?: string; ExpiryMonth?: string; ExpiryYear?: string; Brand?: string; Issuer?: string; IssuerCountry?: string; FundingMethod?: string; Token?: string; } export interface MFV3Transaction { Id?: string; Status?: string; PaymentMethod?: string; PaymentId?: string; ReferenceId?: string; TrackId?: string; AuthorizationId?: string; TransactionDate?: string; ECI?: string; IP?: MFV3IP; Error?: MFV3TransactionError; Card?: MFV3TransactionCard; } export interface MFV3PaymentCustomer { Name?: string; Mobile?: string; Email?: string; } export interface MFV3Amount { BaseCurrency?: string; ValueInBaseCurrency?: string; ServiceCharge?: string; ServiceChargeVAT?: string; ReceivableAmount?: string; DisplayCurrency?: string; ValueInDisplayCurrency?: string; PayCurrency?: string; ValueInPayCurrency?: string; } export interface MFV3Supplier { Code?: number; Name?: string; InvoiceShare?: string; ProposedShare?: string; DepositShare?: string; } /** Final payment status for a COMPLETE_PAYMENT flow. */ export interface MFV3PaymentDetails { Invoice?: MFV3Invoice; Transaction?: MFV3Transaction; Customer?: MFV3PaymentCustomer; Amount?: MFV3Amount; Suppliers?: MFV3Supplier[]; } /** Card verification outcome (VERIFY flow). */ export interface MFV3VerifyCard { Number?: string; ExpiryMonth?: string; ExpiryYear?: string; Brand?: string; PanType?: string; Issuer?: string; PanHash?: string; Token?: string; NameOnCard?: string; IssuerCountry?: string; FundingMethod?: string; ProductName?: string; IsValidCard?: boolean; Is3DSVerified?: boolean; } /** Result of GET /v3/sessions/{id} for a VERIFY session. */ export interface MFV3GetSessionData { SessionExpiry?: string; IsUsed?: boolean; OperationType?: string; Order?: MFV3Order; CustomerReference?: string; Card?: MFV3VerifyCard; TransactionResult?: MFV3PaymentDetails; } /** * Outcome of MFCardViewV3.submit(), discriminated by `type`: * - completed: COMPLETE_PAYMENT resolved to a final status. * - cardCollected: COLLECT_DETAILS tokenized the card (charge it on your backend). * - pendingBackendResolution: the SDK has no key/paymentId; resolve on your backend. */ export type MFV3PaymentResult = { type: 'completed'; details: MFV3PaymentDetails; } | { type: 'cardCollected'; sessionId?: string; card: MFV3CardDetails; } | { type: 'pendingBackendResolution'; paymentData?: string; redirectionUrl?: string; paymentId?: string; }; /** * Outcome of MFCardViewV3.verify(), discriminated by `type`: * - verified: resolved via GET /v3/sessions/{id}; inspect session.Card.IsValidCard. * - pendingBackendResolution: the SDK has no key; resolve on your backend. */ export type MFV3VerifyResult = { type: 'verified'; session: MFV3GetSessionData; } | { type: 'pendingBackendResolution'; sessionId: string; redirectionUrl?: string; }; /** A widget lifecycle event delivered through MFCardViewV3 onWidgetEvent. */ export interface MFV3WidgetEvent { name: string; id?: number; paymentMethodName?: string; } //# sourceMappingURL=MFModels.d.ts.map