import type { LineItemCreate } from './LineItemCreate'; import type { PaymentLinkAddressHandlingMode } from './PaymentLinkAddressHandlingMode'; import type { PaymentMethodConfiguration } from './PaymentMethodConfiguration'; /** * * @export * @interface AbstractPaymentLinkUpdate */ export interface AbstractPaymentLinkUpdate { /** * The line items representing what is being sold. If not specified, they can be supplied via request parameters. * @type {Array} * @memberof AbstractPaymentLinkUpdate */ lineItems?: Array; /** * The latest date the payment link can be used to initiate a transaction. If no date is provided, the link will remain available indefinitely. * @type {Date} * @memberof AbstractPaymentLinkUpdate */ availableUntil?: Date; /** * * @type {PaymentLinkAddressHandlingMode} * @memberof AbstractPaymentLinkUpdate */ shippingAddressHandlingMode?: PaymentLinkAddressHandlingMode; /** * The domains to which the user is allowed to be redirected after the payment is completed. * The following options can be configured: * Exact domain: enter a full domain, e.g. (https://example.com). * Wildcard domain: use to allow subdomains, e.g. (https://*.example.com). * All domains: use (ALL) to allow redirection to any domain (not recommended for security reasons). * No domains : use (NONE) to disallow any redirection. * Only one option per line is allowed. Invalid entries will be rejected. * * @type {Set} * @memberof AbstractPaymentLinkUpdate */ allowedRedirectionDomains?: Set; /** * The name used to identify the payment link. * @type {string} * @memberof AbstractPaymentLinkUpdate */ name?: string; /** * The three-letter currency code (ISO 4217). If not specified, it must be provided in the 'currency' request parameter. * @type {string} * @memberof AbstractPaymentLinkUpdate */ currency?: string; /** * The language for displaying the payment page. If not specified, it can be supplied via the 'language' request parameter. * @type {string} * @memberof AbstractPaymentLinkUpdate */ language?: string; /** * The maximum number of transactions that can be initiated using the payment link. * @type {number} * @memberof AbstractPaymentLinkUpdate */ maximalNumberOfTransactions?: number; /** * The earliest date the payment link can be used to initiate a transaction. If no date is provided, the link will be available immediately. * @type {Date} * @memberof AbstractPaymentLinkUpdate */ availableFrom?: Date; /** * The payment method configurations that customers can use for making payments. * @type {Set} * @memberof AbstractPaymentLinkUpdate */ allowedPaymentMethodConfigurations?: Set; /** * The payment link can be used within a specific space view, which may apply a customized design to the payment page. * @type {number} * @memberof AbstractPaymentLinkUpdate */ appliedSpaceView?: number; /** * * @type {PaymentLinkAddressHandlingMode} * @memberof AbstractPaymentLinkUpdate */ billingAddressHandlingMode?: PaymentLinkAddressHandlingMode; } /** * Check if a given object implements the AbstractPaymentLinkUpdate interface. */ export declare function instanceOfAbstractPaymentLinkUpdate(value: object): value is AbstractPaymentLinkUpdate; export declare function AbstractPaymentLinkUpdateFromJSON(json: any): AbstractPaymentLinkUpdate; export declare function AbstractPaymentLinkUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): AbstractPaymentLinkUpdate; export declare function AbstractPaymentLinkUpdateToJSON(json: any): AbstractPaymentLinkUpdate; export declare function AbstractPaymentLinkUpdateToJSONTyped(value?: AbstractPaymentLinkUpdate | null, ignoreDiscriminator?: boolean): any;