/** * NOTE: This file is auto generated by Xendit. * Do not edit the class manually. * Improvements? Share your ideas at https://github.com/xendit/xendit-node */ import type { ChannelProperties } from './ChannelProperties'; import type { CustomerObject } from './CustomerObject'; import type { InvoiceFee } from './InvoiceFee'; import type { InvoiceItem } from './InvoiceItem'; import type { NotificationPreference } from './NotificationPreference'; /** * An object representing for an invoice creation request. * @export * @interface CreateInvoiceRequest */ export interface CreateInvoiceRequest { /** * The external ID of the invoice. * @type {string} * @memberof CreateInvoiceRequest */ externalId: string; /** * The invoice amount. * @type {number} * @memberof CreateInvoiceRequest */ amount: number; /** * The email address of the payer. * @type {string} * @memberof CreateInvoiceRequest */ payerEmail?: string; /** * A description of the payment. * @type {string} * @memberof CreateInvoiceRequest */ description?: string; /** * The duration of the invoice in seconds. * @type {number} * @memberof CreateInvoiceRequest */ invoiceDuration?: number; /** * The ID of the callback virtual account. * @type {string} * @memberof CreateInvoiceRequest */ callbackVirtualAccountId?: string; /** * Indicates whether email notifications should be sent. * @type {boolean} * @memberof CreateInvoiceRequest */ shouldSendEmail?: boolean; /** * * @type {CustomerObject} * @memberof CreateInvoiceRequest */ customer?: CustomerObject; /** * * @type {NotificationPreference} * @memberof CreateInvoiceRequest */ customerNotificationPreference?: NotificationPreference; /** * The URL to redirect to on successful payment. * @type {string} * @memberof CreateInvoiceRequest */ successRedirectUrl?: string; /** * The URL to redirect to on payment failure. * @type {string} * @memberof CreateInvoiceRequest */ failureRedirectUrl?: string; /** * An array of available payment methods. * @type {Array} * @memberof CreateInvoiceRequest */ paymentMethods?: Array; /** * The middle label. * @type {string} * @memberof CreateInvoiceRequest */ midLabel?: string; /** * Indicates whether credit card authentication is required. * @type {boolean} * @memberof CreateInvoiceRequest */ shouldAuthenticateCreditCard?: boolean; /** * The currency of the invoice. * @type {string} * @memberof CreateInvoiceRequest */ currency?: string; /** * The reminder time. * @type {number} * @memberof CreateInvoiceRequest */ reminderTime?: number; /** * The default language to display. * @type {string} * @memberof CreateInvoiceRequest */ locale?: string; /** * The unit of the reminder time. * @type {string} * @memberof CreateInvoiceRequest */ reminderTimeUnit?: string; /** * An array of items included in the invoice. * @type {Array} * @memberof CreateInvoiceRequest */ items?: Array; /** * An array of fees associated with the invoice. * @type {Array} * @memberof CreateInvoiceRequest */ fees?: Array; /** * * @type {ChannelProperties} * @memberof CreateInvoiceRequest */ channelProperties?: ChannelProperties; /** * A free-format JSON for additional information that you may use. Object can be up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. * @type {object} * @memberof CreateInvoiceRequest */ metadata?: object; } /** * Check if a given object implements the CreateInvoiceRequest interface. */ export declare function instanceOfCreateInvoiceRequest(value: object): boolean; export declare function CreateInvoiceRequestFromJSON(json: any): CreateInvoiceRequest; export declare function CreateInvoiceRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateInvoiceRequest; export declare function CreateInvoiceRequestToJSON(value?: CreateInvoiceRequest | null): any;