wallee
Version:
TypeScript/JavaScript client for wallee
225 lines (224 loc) • 7.22 kB
TypeScript
import type { Transaction } from './Transaction';
import type { FailureReason } from './FailureReason';
import type { RefundType } from './RefundType';
import type { Label } from './Label';
import type { Environment } from './Environment';
import type { LineItem } from './LineItem';
import type { Tax } from './Tax';
import type { LineItemReduction } from './LineItemReduction';
import type { RefundState } from './RefundState';
/**
* A refund is a credit issued to the customer, which can be initiated either by the merchant or by the customer as a reversal.
* @export
* @interface Refund
*/
export interface Refund {
/**
* The total amount settled for the refund, factoring in reductions, taxes, and any additional applied fees.
* @type {number}
* @memberof Refund
*/
readonly totalSettledAmount?: number;
/**
* The reductions applied on the original transaction items, detailing specific adjustments associated with the refund.
* @type {Array<LineItemReduction>}
* @memberof Refund
*/
readonly reductions?: Array<LineItemReduction>;
/**
* The original base line items from the transaction prior to the refund, serving as a reference for the refunded amounts.
* @type {Array<LineItem>}
* @memberof Refund
*/
readonly baseLineItems?: Array<LineItem>;
/**
* The date and time when the processing of the refund was started.
* @type {Date}
* @memberof Refund
*/
readonly processingOn?: Date;
/**
* The tax breakdown applied to the refund amount, helping with tax calculations or reporting.
* @type {Set<Tax>}
* @memberof Refund
*/
readonly taxes?: Set<Tax>;
/**
* The language that is linked to the object.
* @type {string}
* @memberof Refund
*/
readonly language?: string;
/**
*
* @type {RefundType}
* @memberof Refund
*/
type?: RefundType;
/**
* The date and time when the object was created.
* @type {Date}
* @memberof Refund
*/
readonly createdOn?: Date;
/**
* The line items included in the refund, representing the reductions.
* @type {Array<LineItem>}
* @memberof Refund
*/
readonly lineItems?: Array<LineItem>;
/**
* Allow to store additional information about the object.
* @type {{ [key: string]: string; }}
* @memberof Refund
*/
readonly metaData?: {
[key: string]: string;
};
/**
* The date and time when the refund succeeded.
* @type {Date}
* @memberof Refund
*/
readonly succeededOn?: Date;
/**
* The line items from the original transaction, adjusted to reflect any reductions applied during the refund process.
* @type {Array<LineItem>}
* @memberof Refund
*/
readonly reducedLineItems?: Array<LineItem>;
/**
* A unique identifier for the object.
* @type {number}
* @memberof Refund
*/
readonly id?: number;
/**
*
* @type {RefundState}
* @memberof Refund
*/
state?: RefundState;
/**
* The merchant's reference used to identify the refund.
* @type {string}
* @memberof Refund
*/
readonly merchantReference?: string;
/**
* The transaction completion that the refund belongs to.
* @type {number}
* @memberof Refund
*/
readonly completion?: number;
/**
* The total monetary amount of the refund, representing the exact credit issued to the customer.
* @type {number}
* @memberof Refund
*/
readonly amount?: number;
/**
* 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 Refund
*/
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 Refund
*/
readonly externalId?: string;
/**
* The time zone that this object is associated with.
* @type {string}
* @memberof Refund
*/
readonly timeZone?: string;
/**
* The version is used for optimistic locking and incremented whenever the object is updated.
* @type {number}
* @memberof Refund
*/
readonly version?: number;
/**
* The labels providing additional information about the object.
* @type {Set<Label>}
* @memberof Refund
*/
readonly labels?: Set<Label>;
/**
* The ID of the space this object belongs to.
* @type {number}
* @memberof Refund
*/
readonly linkedSpaceId?: number;
/**
* The date and time when the object will expire.
* @type {Date}
* @memberof Refund
*/
readonly timeoutOn?: Date;
/**
*
* @type {Environment}
* @memberof Refund
*/
environment?: Environment;
/**
* The ID of the user the refund was created by.
* @type {number}
* @memberof Refund
*/
readonly createdBy?: number;
/**
* The date and time when the next update of the object's state is planned.
* @type {Date}
* @memberof Refund
*/
readonly nextUpdateOn?: Date;
/**
* An updated invoice reflecting adjustments made by the refund.
* @type {number}
* @memberof Refund
*/
readonly updatedInvoice?: number;
/**
*
* @type {FailureReason}
* @memberof Refund
*/
failureReason?: FailureReason;
/**
* The sum of fees applied to the refund transaction, such as processing or service charges.
* @type {number}
* @memberof Refund
*/
readonly totalAppliedFees?: number;
/**
* The date and time when the refund failed.
* @type {Date}
* @memberof Refund
*/
readonly failedOn?: Date;
/**
*
* @type {Transaction}
* @memberof Refund
*/
transaction?: Transaction;
/**
* The reference ID provided by the payment processor, used to trace the refund through the external payment system.
* @type {string}
* @memberof Refund
*/
readonly processorReference?: string;
}
/**
* Check if a given object implements the Refund interface.
*/
export declare function instanceOfRefund(value: object): value is Refund;
export declare function RefundFromJSON(json: any): Refund;
export declare function RefundFromJSONTyped(json: any, ignoreDiscriminator: boolean): Refund;
export declare function RefundToJSON(json: any): Refund;
export declare function RefundToJSONTyped(value?: Omit<Refund, 'totalSettledAmount' | 'reductions' | 'baseLineItems' | 'processingOn' | 'taxes' | 'language' | 'createdOn' | 'lineItems' | 'metaData' | 'succeededOn' | 'reducedLineItems' | 'id' | 'merchantReference' | 'completion' | 'amount' | 'plannedPurgeDate' | 'externalId' | 'timeZone' | 'version' | 'labels' | 'linkedSpaceId' | 'timeoutOn' | 'createdBy' | 'nextUpdateOn' | 'updatedInvoice' | 'totalAppliedFees' | 'failedOn' | 'processorReference'> | null, ignoreDiscriminator?: boolean): any;