import type { LineItemCreate } from './LineItemCreate'; import type { PaymentLinkAddressHandlingMode } from './PaymentLinkAddressHandlingMode'; import type { PaymentLinkProtectionMode } from './PaymentLinkProtectionMode'; import type { CreationEntityState } from './CreationEntityState'; import type { PaymentMethodConfiguration } from './PaymentMethodConfiguration'; /** * * @export * @interface PaymentLinkCreate */ export interface PaymentLinkCreate { /** * The line items representing what is being sold. If not specified, they can be supplied via request parameters. * @type {Array} * @memberof PaymentLinkCreate */ 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 PaymentLinkCreate */ availableUntil?: Date; /** * * @type {PaymentLinkAddressHandlingMode} * @memberof PaymentLinkCreate */ 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 PaymentLinkCreate */ allowedRedirectionDomains?: Set; /** * The name used to identify the payment link. * @type {string} * @memberof PaymentLinkCreate */ name?: string; /** * The three-letter currency code (ISO 4217). If not specified, it must be provided in the 'currency' request parameter. * @type {string} * @memberof PaymentLinkCreate */ currency?: string; /** * The language for displaying the payment page. If not specified, it can be supplied via the 'language' request parameter. * @type {string} * @memberof PaymentLinkCreate */ language?: string; /** * The maximum number of transactions that can be initiated using the payment link. * @type {number} * @memberof PaymentLinkCreate */ 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 PaymentLinkCreate */ availableFrom?: Date; /** * The payment method configurations that customers can use for making payments. * @type {Set} * @memberof PaymentLinkCreate */ 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 PaymentLinkCreate */ appliedSpaceView?: number; /** * * @type {PaymentLinkAddressHandlingMode} * @memberof PaymentLinkCreate */ billingAddressHandlingMode?: PaymentLinkAddressHandlingMode; /** * * @type {PaymentLinkProtectionMode} * @memberof PaymentLinkCreate */ protectionMode: PaymentLinkProtectionMode; /** * A client-generated nonce which uniquely identifies some action to be executed. Subsequent requests with the same external ID do not execute the action again, but return the original result. * @type {string} * @memberof PaymentLinkCreate */ externalId: string; /** * * @type {CreationEntityState} * @memberof PaymentLinkCreate */ state?: CreationEntityState; } /** * Check if a given object implements the PaymentLinkCreate interface. */ export declare function instanceOfPaymentLinkCreate(value: object): value is PaymentLinkCreate; export declare function PaymentLinkCreateFromJSON(json: any): PaymentLinkCreate; export declare function PaymentLinkCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentLinkCreate; export declare function PaymentLinkCreateToJSON(json: any): PaymentLinkCreate; export declare function PaymentLinkCreateToJSONTyped(value?: PaymentLinkCreate | null, ignoreDiscriminator?: boolean): any;