/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../runtime';
import type { Money } from './Money';
import type { FinishNotifyRequestAdditionalInfo } from './FinishNotifyRequestAdditionalInfo';
/**
*
* @export
* @interface FinishNotifyRequest
*/
export interface FinishNotifyRequest {
/**
* Original transaction identifier on DANA system
* @type {string}
* @memberof FinishNotifyRequest
*/
originalPartnerReferenceNo: string;
/**
* Original transaction identifier on partner system
* @type {string}
* @memberof FinishNotifyRequest
*/
originalReferenceNo: string;
/**
* Original external identifier on header message
* @type {string}
* @memberof FinishNotifyRequest
*/
originalExternalId?: string;
/**
* Unique identifier per each merchant
* @type {string}
* @memberof FinishNotifyRequest
*/
merchantId: string;
/**
* Information of sub merchant identifier
* @type {string}
* @memberof FinishNotifyRequest
*/
subMerchantId?: string;
/**
* Amount. Contains two sub-fields:
* 1. Value: Transaction amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof FinishNotifyRequest
*/
amount: Money;
/**
* Transaction status code:
* - 00 = Success, the order has been paid
* - 05 = Cancelled, the order has been closed because it is expired
*
* @type {string}
* @memberof FinishNotifyRequest
*/
latestTransactionStatus: string;
/**
* Description of transaction status
* @type {string}
* @memberof FinishNotifyRequest
*/
transactionStatusDesc?: string;
/**
* Transaction created time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
* @type {string}
* @memberof FinishNotifyRequest
*/
createdTime: string;
/**
* Transaction finished time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
* @type {string}
* @memberof FinishNotifyRequest
*/
finishedTime: string;
/**
* Store identifier to indicate to which store this payment belongs to
* @type {string}
* @memberof FinishNotifyRequest
*/
externalStoreId?: string;
/**
* Additional information
* @type {FinishNotifyRequestAdditionalInfo}
* @memberof FinishNotifyRequest
*/
additionalInfo?: FinishNotifyRequestAdditionalInfo;
}
/**
* Check if a given object implements the FinishNotifyRequest interface.
*/
export declare function instanceOfFinishNotifyRequest(value: object): value is FinishNotifyRequest;
export declare function FinishNotifyRequestFromJSON(json: any): FinishNotifyRequest;
export declare function FinishNotifyRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FinishNotifyRequest;
export declare function FinishNotifyRequestToJSON(json: any): FinishNotifyRequest;
export declare function FinishNotifyRequestToJSONTyped(value?: FinishNotifyRequest | null, ignoreDiscriminator?: boolean): any;
export declare function validateFinishNotifyRequest(value: FinishNotifyRequest): ValidationErrorContext[];