import type { PaymentLinkAddressHandlingMode } from './PaymentLinkAddressHandlingMode'; import type { PaymentLinkProtectionMode } from './PaymentLinkProtectionMode'; import type { CreationEntityState } from './CreationEntityState'; import type { LineItem } from './LineItem'; import type { PaymentMethodConfiguration } from './PaymentMethodConfiguration'; /** * * @export * @interface PaymentLink */ export interface PaymentLink { /** * * @type {PaymentLinkAddressHandlingMode} * @memberof PaymentLink */ 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 PaymentLink */ readonly allowedRedirectionDomains?: Set; /** * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed. * @type {Date} * @memberof PaymentLink */ readonly plannedPurgeDate?: Date; /** * 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 PaymentLink */ readonly externalId?: string; /** * The language for displaying the payment page. If not specified, it can be supplied via the 'language' request parameter. * @type {string} * @memberof PaymentLink */ readonly language?: string; /** * 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 PaymentLink */ readonly availableFrom?: Date; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof PaymentLink */ readonly version?: number; /** * The public URL to share with customers for making payments. * @type {string} * @memberof PaymentLink */ readonly url?: string; /** * The line items representing what is being sold. If not specified, they can be supplied via request parameters. * @type {Array} * @memberof PaymentLink */ readonly lineItems?: Array; /** * * @type {PaymentLinkProtectionMode} * @memberof PaymentLink */ protectionMode?: PaymentLinkProtectionMode; /** * 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 PaymentLink */ readonly availableUntil?: Date; /** * The ID of the space this object belongs to. * @type {number} * @memberof PaymentLink */ readonly linkedSpaceId?: number; /** * The name used to identify the payment link. * @type {string} * @memberof PaymentLink */ readonly name?: string; /** * The three-letter currency code (ISO 4217). If not specified, it must be provided in the 'currency' request parameter. * @type {string} * @memberof PaymentLink */ readonly currency?: string; /** * A unique identifier for the object. * @type {number} * @memberof PaymentLink */ readonly id?: number; /** * * @type {CreationEntityState} * @memberof PaymentLink */ state?: CreationEntityState; /** * The maximum number of transactions that can be initiated using the payment link. * @type {number} * @memberof PaymentLink */ readonly maximalNumberOfTransactions?: number; /** * The payment method configurations that customers can use for making payments. * @type {Set} * @memberof PaymentLink */ readonly 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 PaymentLink */ readonly appliedSpaceView?: number; /** * * @type {PaymentLinkAddressHandlingMode} * @memberof PaymentLink */ billingAddressHandlingMode?: PaymentLinkAddressHandlingMode; } /** * Check if a given object implements the PaymentLink interface. */ export declare function instanceOfPaymentLink(value: object): value is PaymentLink; export declare function PaymentLinkFromJSON(json: any): PaymentLink; export declare function PaymentLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentLink; export declare function PaymentLinkToJSON(json: any): PaymentLink; export declare function PaymentLinkToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;