/** * 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 { DigitalPayoutChannelProperties } from './DigitalPayoutChannelProperties'; import type { ReceiptNotification } from './ReceiptNotification'; /** * * @export * @interface Payout */ export interface Payout { /** * A client defined payout identifier * @type {string} * @memberof Payout */ referenceId: string; /** * Channel code of selected destination bank or e-wallet * @type {string} * @memberof Payout */ channelCode: string; /** * * @type {DigitalPayoutChannelProperties} * @memberof Payout */ channelProperties: DigitalPayoutChannelProperties; /** * Amount to be sent to the destination account and should be a multiple of the minimum increment for the selected channel * @type {number} * @memberof Payout */ amount: number; /** * Description to send with the payout, the recipient may see this e.g., in their bank statement (if supported) or in email receipts we send on your behalf * @type {string} * @memberof Payout */ description?: string; /** * Currency of the destination channel using ISO-4217 currency code * @type {string} * @memberof Payout */ currency: string; /** * * @type {ReceiptNotification} * @memberof Payout */ receiptNotification?: ReceiptNotification; /** * Object of additional information you may use * @type {object} * @memberof Payout */ metadata?: object; /** * Xendit-generated unique identifier for each payout * @type {string} * @memberof Payout */ id: string; /** * The time payout was created on Xendit's system, in ISO 8601 format * @type {Date} * @memberof Payout */ created: Date; /** * The time payout was last updated on Xendit's system, in ISO 8601 format * @type {Date} * @memberof Payout */ updated: Date; /** * Xendit Business ID * @type {string} * @memberof Payout */ businessId: string; /** * Status of payout * @type {string} * @memberof Payout */ status: PayoutStatusEnum; /** * If the Payout failed, we include a failure code for more details on the failure. * @type {string} * @memberof Payout */ failureCode?: PayoutFailureCodeEnum; /** * Our estimated time on to when your payout is reflected to the destination account * @type {Date} * @memberof Payout */ estimatedArrivalTime?: Date; } /** * @export */ export declare const PayoutStatusEnum: { readonly Succeeded: "SUCCEEDED"; readonly Failed: "FAILED"; readonly Accepted: "ACCEPTED"; readonly Requested: "REQUESTED"; readonly Locked: "LOCKED"; readonly Cancelled: "CANCELLED"; readonly Reversed: "REVERSED"; }; export type PayoutStatusEnum = typeof PayoutStatusEnum[keyof typeof PayoutStatusEnum]; /** * @export */ export declare const PayoutFailureCodeEnum: { readonly InsufficientBalance: "INSUFFICIENT_BALANCE"; readonly RejectedByChannel: "REJECTED_BY_CHANNEL"; readonly TemporaryTransferError: "TEMPORARY_TRANSFER_ERROR"; readonly InvalidDestination: "INVALID_DESTINATION"; readonly TransferError: "TRANSFER_ERROR"; }; export type PayoutFailureCodeEnum = typeof PayoutFailureCodeEnum[keyof typeof PayoutFailureCodeEnum]; /** * Check if a given object implements the Payout interface. */ export declare function instanceOfPayout(value: object): boolean; export declare function PayoutFromJSON(json: any): Payout; export declare function PayoutFromJSONTyped(json: any, ignoreDiscriminator: boolean): Payout; export declare function PayoutToJSON(value?: Payout | null): any;