/** A way to pay online or offline for goods or services offered by a specific site. */ export interface SitePaymentMethodType { /** Payment method type ID. */ id?: string; /** Value used buy some legacy APIs to refer to this payment method type. Can be empty. */ legacyId?: string | null; /** * Payment method type display name, based on locale. * * Used by Wix when displaying the payment method type, such as in the payment settings page for merchants, or the checkout page for buyers. * * Define your locale by specifying a `country` and `language` when calling `Get Payment Method Type` or `List Payment Method Types`. * For more detailed information, see the descriptions for the `country` and `language` parameters for those methods. */ displayName?: string | null; /** * Payment method type description, based on locale. * * Used by Wix when displaying the payment method type, such as in the payment settings page for merchants, or the checkout page for buyers. * * Define your locale by specifying a `country` and `language` when calling `Get Payment Method Type` or `List Payment Method Types`. * For more detailed information, see the descriptions for the `country` and `language` parameters for those methods. */ description?: string | null; /** Features supported for this payment method type. */ features?: Features; /** Settings that determine if and how to display this payment method type in the merchant flow. The merchant flow is the process a merchant goes through to configure which payment method types they accept on their site. */ merchantFlow?: MerchantFlow; /** Settings that determine if and how to display this payment method type in the buyer flow. The buyer flow is the process a buyer goes through to make a purchase att checkout. */ buyerFlow?: BuyerFlow; /** * Whether this payment method type is only used to represent a supported payment brand for another payment method type. * * For example, a Visa payment method is used to indicate that Visa can be used for credit card transactions. But the Visa payment method type is not used to accept payments. Instead, the credit card payment method type is used. * * Brand-only payment method types cannot be used to accept payments, and are not listed as a payment method type in a site's dashboard. */ brandOnly?: boolean; /** Whether the payment method type can only be used for in-person payments, such as cash, point-of-sale payments, and card readers. */ inPerson?: boolean; /** * Time (in seconds after which a transaction is marked as expired if it is not completed. * * Max: `15552000` (180 days) */ transactionExpirationDelayInSeconds?: number | null; /** Indicates that payment method type is restricted for the provided currency. */ currencyRestricted?: boolean; } export interface Features { /** Express flow configuration. */ expressFlow?: ExpressFlow; /** Regular flow configuration. */ regularFlow?: RegularFlow; /** Disputes configuration. */ disputes?: Disputes; /** Installments configuration. */ installments?: Installments; /** Refunds configuration. */ refunds?: Refunds; /** Authorize and capture configuration. */ authCapture?: AuthCapture; /** Regular tokenization configuration. */ regularTokenization?: RegularTokenization; /** Custom tokenization configuration. */ customTokenization?: CustomTokenization; /** Next action configuration. */ nextAction?: NextAction; /** Credential-on-File (CoF) configuration. */ credentialOnFile?: CredentialOnFile; /** Mail Order/Telephone Order (MOTO) configuration. */ moto?: Moto; /** Promotional message configuration. */ promotionalMessages?: PromotionalMessages; } export interface IFrame { /** Whether the next payment action can be shown in an iframe. */ supported?: boolean; } export interface NewTab { /** Whether the next payment action can be shown in a new tab. */ supported?: boolean; } export interface FullPageRedirect { /** Whether the next payment action can be shown by redirecting to a new page. */ supported?: boolean; } export interface Barcode { /** Whether the next payment action can be shown as a barcode to scan. */ supported?: boolean; } export interface QrCode { /** Whether the next payment action can be shown as a QR code to scan. */ supported?: boolean; } export interface ExpressFlow { /** Whether this payment method type can be used in an express flow on checkout. */ supported?: boolean; } export interface RegularFlow { /** Whether this payment method type can be used in a regular flow on checkout. */ supported?: boolean; } export interface Disputes { /** Whether disputes are supported for this payment method type. */ supported?: boolean; } export interface Installments { /** Whether installments are supported for this payment method type. */ supported?: boolean; /** Countries for which installments can be enabled. */ allowedCountries?: string[]; /** Max number of installments that can be configured by a provider. */ maxInstallmentLimit?: number | null; } export interface Refunds { /** Whether refunds are supported for this payment method type. */ supported?: boolean; /** Maximum period in which payments made using this payment method type can be refunded. */ maxRefundabilityPeriodInDays?: number | null; } export interface AuthCapture { /** Whether the authorize and capture flow is supported for this payment method type. */ supported?: boolean; /** Period to wait for the auth capture to be completed before canceling the transaction. */ maxCapturePeriodInDays?: number | null; } export interface RegularTokenization { /** Whether the default tokenization mechanism can be configured for this payment method type. */ supported?: boolean; } export interface CustomTokenization { /** Whether a custom tokenization mechanism can be configured for this payment method type, such as a provider-specific tokenization method. */ supported?: boolean; } export interface NextAction { /** iframe configuration. */ iframe?: IFrame; /** New tab configuration. */ newTab?: NewTab; /** Full page redirect configuration. */ fullPageRedirect?: FullPageRedirect; /** Barcode configuration. */ barcode?: Barcode; /** QR code configuration. */ qrCode?: QrCode; } export interface CredentialOnFile { /** Whether the Credential-on-File (CoF) feature is supported for this payment method type. */ supported?: boolean; } export interface Moto { /** Whether Mail Order/Telephone Order (MOTO) is supported for this payment method type. */ supported?: boolean; } export interface PromotionalMessages { /** Whether promotional messages is supported for this payment method type. */ supported?: boolean; } export interface MerchantFlow { /** * Details about the icons to display for this payment method type on the merchant's Accept Payments page in the site dashboard. Icons are localized according to the locale of the call. * * Define a locale by specifying a `country` and `language` when calling `Get Payment Method Type` or `List Payment Method Types`. * For more detailed information, see the method descriptions. */ icons?: Icon[]; /** * Priority given to this payment method type in the list shown to the merchant. * A lower value relative to other payment method types means a higher position on the list. */ priority?: number; /** Whether the payment method type is promoted. Promoted payment method types are displayed more prominently on the Accept Payments page. */ promoted?: boolean; /** Whether the merchant cannot choose to accept payments from this payment method type. */ hidden?: boolean; /** Indicates that payment method type is restricted in provided country. */ countryRestricted?: boolean; } /** * Example url: * http://images-wixmp-6613fa290e8c1ac70a0297b6.wixmp.com/payment-methods/{domain}/{extension}/{id}.{extension} */ export interface Icon { /** Icon image. */ image?: Image; /** * Icon tag. Payment method types can have multiple icons, and tags are used to differentiate between them. * For example, the UI design for multiple payment method types is upgraded, and now they each have an old icon tagged "v1" and a new icon tagged "v2". Developers can then easily choose to display all the original "v1" style of icons, or all the new "v2" style. */ tag?: string | null; /** Icon image format. */ format?: Format; } export interface Image { /** WixMedia image ID. */ id?: string; /** Image URL. */ url?: string; /** * Original image height. * @readonly */ height?: number; /** * Original image width. * @readonly */ width?: number; } export declare enum Format { UNKNOWN_FORMAT = "UNKNOWN_FORMAT", SVG = "SVG", PNG = "PNG" } export interface BuyerFlow { /** * Details about the icons to display for this payment method type on a site's checkout page. Icons are localized according to the locale of the call. * * Define a locale by specifying a `country` and `language` when calling `Get Payment Method Type` or `List Payment Method Types`. * For more detailed information, see the method descriptions. */ icons?: Icon[]; /** * The priority given to this payment method type in the list of payment method types shown to the buyer. * A lower value relative to other payment method types means a higher position on the list. */ priority?: number; /** Whether the merchant cannot choose to accept payments from this payment method type. */ hidden?: boolean; /** Indicates that payment method type is restricted in provided country. */ countryRestricted?: boolean; } export interface GetSitePaymentMethodTypeRequest { /** Payment method type ID. */ sitePaymentMethodTypeId: string; /** * Language used to determine localized values for fields in the response. * * Must be a 2-letter language code in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ language?: string | null; /** * Country used to determine localized values for fields in the response. * * Must be a 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#officially_assigned_code_elements) format. */ country?: string | null; /** * Currency used to determine localized values for fields in the response. * * Must be a 3-letter currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. */ currency?: string | null; } export interface GetSitePaymentMethodTypeResponse { /** Requested site payment method type. */ sitePaymentMethodType?: SitePaymentMethodType; } export interface ListSitePaymentMethodTypesRequest { /** IDs or legacy IDs of payment method types to retrieve. */ ids?: string[]; /** * Language used to determine localized values for fields in the response. * * Must be a 2-letter language code in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ language?: string | null; /** * Country used to filter payment method types and determine localized values for fields in the response. * * Must be a 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#officially_assigned_code_elements) format. */ country?: string | null; /** * Currency used to determine localized values for fields in the response. * * Must be a 3-letter currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. */ currency?: string | null; } export interface ListSitePaymentMethodTypesResponse { /** List of site payment method types. */ sitePaymentMethodTypes?: SitePaymentMethodType[]; } interface ExpressFlowNonNullableFields { supported: boolean; } interface RegularFlowNonNullableFields { supported: boolean; } interface DisputesNonNullableFields { supported: boolean; } interface InstallmentsNonNullableFields { supported: boolean; allowedCountries: string[]; } interface RefundsNonNullableFields { supported: boolean; } interface AuthCaptureNonNullableFields { supported: boolean; } interface RegularTokenizationNonNullableFields { supported: boolean; } interface CustomTokenizationNonNullableFields { supported: boolean; } interface IFrameNonNullableFields { supported: boolean; } interface NewTabNonNullableFields { supported: boolean; } interface FullPageRedirectNonNullableFields { supported: boolean; } interface BarcodeNonNullableFields { supported: boolean; } interface QrCodeNonNullableFields { supported: boolean; } interface NextActionNonNullableFields { iframe?: IFrameNonNullableFields; newTab?: NewTabNonNullableFields; fullPageRedirect?: FullPageRedirectNonNullableFields; barcode?: BarcodeNonNullableFields; qrCode?: QrCodeNonNullableFields; } interface CredentialOnFileNonNullableFields { supported: boolean; } interface MotoNonNullableFields { supported: boolean; } interface PromotionalMessagesNonNullableFields { supported: boolean; } interface FeaturesNonNullableFields { expressFlow?: ExpressFlowNonNullableFields; regularFlow?: RegularFlowNonNullableFields; disputes?: DisputesNonNullableFields; installments?: InstallmentsNonNullableFields; refunds?: RefundsNonNullableFields; authCapture?: AuthCaptureNonNullableFields; regularTokenization?: RegularTokenizationNonNullableFields; customTokenization?: CustomTokenizationNonNullableFields; nextAction?: NextActionNonNullableFields; credentialOnFile?: CredentialOnFileNonNullableFields; moto?: MotoNonNullableFields; promotionalMessages?: PromotionalMessagesNonNullableFields; } interface ImageNonNullableFields { id: string; url: string; height: number; width: number; } interface IconNonNullableFields { image?: ImageNonNullableFields; format: Format; } interface MerchantFlowNonNullableFields { icons: IconNonNullableFields[]; priority: number; promoted: boolean; hidden: boolean; countryRestricted: boolean; } interface BuyerFlowNonNullableFields { icons: IconNonNullableFields[]; priority: number; hidden: boolean; countryRestricted: boolean; } interface SitePaymentMethodTypeNonNullableFields { id: string; features?: FeaturesNonNullableFields; merchantFlow?: MerchantFlowNonNullableFields; buyerFlow?: BuyerFlowNonNullableFields; brandOnly: boolean; velo: boolean; inPerson: boolean; currencyRestricted: boolean; } export interface GetSitePaymentMethodTypeResponseNonNullableFields { sitePaymentMethodType?: SitePaymentMethodTypeNonNullableFields; } export interface ListSitePaymentMethodTypesResponseNonNullableFields { sitePaymentMethodTypes: SitePaymentMethodTypeNonNullableFields[]; } export {};