import type { PAYableIPGClient } from './PAYableIPGClient'; import type { PaymentData } from './PaymentData'; import type { ReturnData } from './ReturnData'; export interface PaymentRequest { PAYableIPGClient: PAYableIPGClient; packageName?: string; paymentType: string; invoiceId: string; amount: string; currencyCode: string; orderDescription?: string; customerFirstName: string; customerLastName: string; customerMobilePhone: string; customerEmail: string; checkValue: string; billingAddressStreet: string; billingAddressCity: string; billingAddressCountry: string; billingAddressPostcodeZip: string; startDate?: string; endDate?: string; recurringAmount?: string; interval?: string; isRetry?: string; retryAttempts?: string; doFirstPayment?: string; custom1?: string; custom2?: string; customerPhone?: string; billingAddressStreet2?: string; billingCompanyName?: string; billingAddressStateProvince?: string; shippingContactFirstName?: string; shippingContactLastName?: string; shippingContactMobilePhone?: string; shippingContactPhone?: string; shippingContactEmail?: string; shippingCompanyName?: string; shippingAddressStreet?: string; shippingAddressStreet2?: string; shippingAddressCity?: string; shippingAddressStateProvince?: string; shippingAddressCountry?: string; shippingAddressPostcodeZip?: string; isCardSaved?: string; customerRefNo?: string; onPaymentStarted?: (data: PaymentData) => void; onPaymentCompleted?: (data: ReturnData) => void; onPaymentError?: (error: string) => void; onPaymentCancelled?: () => void; }