import { Fraud } from '@whenthen/checkout-sdk-elements-core'; import { PaymentMethodType, PaymentMethod } from './payment-method-type'; export interface AuthorizePaymentPayloadInput { flowId: string; paymentMethod: PaymentMethodInput; amount: number; currencyCode: string; orderId?: string; intentId?: string; perform3DSecure?: Perform3DSecureInput; customer?: AuthorizePaymentCustomerInput; fraud?: Fraud; } export interface AuthorizePaymentCustomerInput { id?: string; email?: string; name?: string; } export interface BasePaymentMethodInput { type: PaymentMethodType; } export interface ApplePayPaymentMethodInput extends BasePaymentMethodInput { type: PaymentMethod.APPLE_PAY; walletToken: string; } export interface GooglePayPaymentMethodInput extends BasePaymentMethodInput { type: PaymentMethod.GOOGLE_PAY; walletToken: string; googlePay: { transactionId: string; }; } export interface CardPaymentMethodInput extends BasePaymentMethodInput { type: PaymentMethod.CARD; token: string; } export declare type PaymentMethodInput = ApplePayPaymentMethodInput | GooglePayPaymentMethodInput | CardPaymentMethodInput | BasePaymentMethodInput; export interface Perform3DSecureInput { redirectUrl: string; } export interface AuthorizePaymentInput { authorizePayment: AuthorizePaymentPayloadInput; }