import {Adyen} from '../../extensions/three_domain_secure/handlers/adyen/types'; export declare enum PaymentIntentStatus { INITED = 'inited', IN_PROGRESS = 'in_progress', AUTHORIZED = 'authorized', CONSUMED = 'consumed', } export declare enum PaymentMethodType { CARD = 'card', IDEAL = 'ideal', SOFORT = 'sofort', BANCONTACT = 'bancontact', GOOGLE_PAY = 'google_pay', PAYPAL_EXPRESS_CHECKOUT = 'paypal_express_checkout', DOTPAY = 'dotpay', GIROPAY = 'giropay', Netbanking_EMANDATES = 'netbanking_emandates', APPLEPAY = 'apple_pay', UPI = 'upi', DIRECT_DEBIT = 'direct_debit', VENMO = 'venmo', BOLETO = 'boleto', FASTER_PAYMENTS = 'faster_payments', PAY_TO = 'pay_to', SEPA_INSTANT_TRANSFER = 'sepa_instant_transfer', KLARNA_PAY_NOW = 'klarna_pay_now', ONLINE_BANKING_POLAND = 'online_banking_poland', AMAZON_PAYMENTS = 'amazon_payments', } export declare enum AchVerificationType { INSTANT = 'instant', AUTOMATIC = 'automatic', MANUAL = 'manual', } export declare type PaymentIntent = { id: string; status: PaymentIntentStatus; amount: number; currency_code: string; gateway_account_id: string; gateway: Gateway; active_payment_attempt?: PaymentAttempt; customer_id?: string; reference_id?: string; payment_method_type: PaymentMethodType; success_url?: string; failure_url?: string; business_entity_id?: string; payer_info?: PayerInfo; }; export declare enum PaymentAttemptStatus { INITED = 'inited', REQUIRES_IDENTIFICATION = 'requires_identification', REQUIRES_CHALLENGE = 'requires_challenge', REQUIRES_REDIRECTION = 'requires_redirection', AUTHORIZED = 'authorized', REFUSED = 'refused', PENDING_AUTHORIZATION = 'pending_authorization', PENDING_CONFIRMATION = 'pending_confirmation', } export declare type PaymentAttempt = { id: string; status: PaymentAttemptStatus; type: string; active: boolean; id_at_gateway?: string; action_payload: any; error_code?: string; error_text?: string; error_msg?: string; error_detail?: AttemptErrorDetail; }; export declare type AttemptErrorDetail = { error_category: string; error_code: string; error_message: string; object: string; request_id: string; }; export declare type GatewayInstances = { stripe?: any; braintree?: any; adyen?: any; }; export declare type Options = GatewayInstances; export declare type PaymentInfo = { element?: any; card?: CardInfo; tokenizer?: Function; cbToken?: string; cardComponent?: string; additionalData?: AdditionalData; }; export declare type Customer = { firstName?: string; lastName?: string; email?: string; phone?: string; }; export declare enum PaymentFlow { REDIRECT = 'REDIRECT', } export declare type AdditionalData = { cardBillingAddress?: Address; billingAddress?: Address; customerBillingAddress?: Address; shippingAddress?: Address; customer?: Customer; email?: string; phone?: string; plan?: string; additionalInformation?: any; document?: Document; cardType?: string; is3dsRequired?: boolean; encryptedCardDetails?: string; vaultId?: string; locale?: string; mandate?: Mandate; paymentType?: string; callbacks?: { onChallenge?: (redirectUrl: string) => void; }; _skipRedirect?: boolean; challengeWindowSize?: string; metaData?: {}; }; export declare type Document = { number?: string; type?: string; }; export declare type Mandate = { requireMandate: boolean; description?: string; }; export declare type Address = { firstName?: string; lastName?: string; phone?: string; addressLine1?: string; addressLine2?: string; addressLine3?: string; city?: string; state?: string; stateCode?: string; countryCode?: string; zip?: string | number; }; export declare type CardInfo = { number: string; expiryMonth: string; expiryYear: string; cvv: string; firstName?: string; lastName?: string; preferredScheme?: string; }; export declare type Callbacks = { success?: Function; error?: Function; change?: Function; cancel?: Function; challenge?: Function; click?: Function; }; export declare type PaymentIntentResponse = { payment_intent: PaymentIntent; action_payload: any; payer_info?: PayerInfo; }; export declare type PayerInfo = { customer?: Customer; shipping_address?: Address; billing_address?: Address; userName?: string; }; export declare enum Gateway { STRIPE = 'stripe', ADYEN = 'adyen', BRAINTREE = 'braintree', SPREEDLY = 'spreedly', CHARGEBEE = 'chargebee', CHECKOUT_COM = 'checkout_com', CYBERSOURCE = 'cybersource', BLUESNAP = 'bluesnap', INGENICO_DIRECT = 'ingenico_direct', WORLDPAY = 'worldpay', AUTHORIZE_NET = 'authorize_net', MOLLIE = 'mollie', RAZORPAY = 'razorpay', CHARGEBEE_PAYMENTS = 'chargebee_payments', BANK_OF_AMERICA = 'bank_of_america', GOCARDLESS = 'gocardless', ECENTRIC = 'ecentric', METRICS_GLOBAL = 'metrics_global', WINDCAVE = 'windcave', EBANX = 'ebanx', AMAZON_PAYMENTS = 'amazon_payments', NMI = 'nmi', PAYCOM = 'pay_com', DLOCAL = 'dlocal', PAYPAL_EXPRESS_CHECKOUT = 'paypal_express_checkout', Nuvei = 'nuvei', VANTIV = 'vantiv', GLOBAL_PAYMENTS = 'global_payments', PAYPAL = 'paypal', PAYSTACK = 'paystack', } export interface ConfirmApiInputPayload extends AdditionalData, Adyen.BrowserFingerprint { paymentFlow?: PaymentFlow; tmpToken?: string; cbToken?: string; reattempt?: Boolean; requestSource?: string; paymentMethod?: | CardInfo | { id?: any; firstName?: string; lastName?: string; brand?: string; }; cardComponent?: any; paymentMethodType?: PaymentMethodType; paymentIntent?: PaymentIntent; additionalInfo?: { encryptedCardDetails?: string; metaData?: any; }; paymentMethodDetails?: PaymentMethodDetails; } export interface PaymentMethodDetails { card: CardInfo; firstName?: string; lastName?: string; brand?: string; cardComponent?: any; } export interface ConfirmApiPayload { payload?: ConfirmApiInputPayload; paymentIntentId: string; businessEntityId?: string; referenceId?: string; } export interface CancelPaymentIntentRequestPayload { paymentIntentId: string; reason?: string; } export declare type ValidateApplePaySessionPayload = { payload: { validationURL: string; domain: string; }; paymentIntentId: string; }; export declare type StripePaymentIntentParams = { client_secret: string; obj_type: string; publishable_key: string; redirect_url?: string; }; export declare enum Orchestrator { PAYFURL = 'payfurl', SPREEDLY = 'spreedly', }