/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../../runtime';
import type { QueryPaymentResponseAdditionalInfo } from './QueryPaymentResponseAdditionalInfo';
import type { Money } from './Money';
/**
*
* @export
* @interface QueryPaymentResponse
*/
export interface QueryPaymentResponse {
/**
* Refer to response code list:
* * 2005500 - Successful
* * 4005500 - Bad Request - Retry request with proper parameter
* * 4005501 - Invalid Field Format - Retry request with proper parameter
* * 4005502 - Invalid Mandatory Field - Retry request with proper parameter
* * 4015500 - Unauthorized. [reason] - Retry request with proper parameter
* * 4015501 - Invalid Token (B2B) - Retry request with proper parameter
* * 4045501 - Transaction Not Found - Try to create a new order
* * 4295500 - Too Many Requests - Retry request periodically
* * 5005500 - General Error - Retry request periodically
* * 5005501 - Internal Server Error - Retry request periodically
*
* @type {string}
* @memberof QueryPaymentResponse
*/
responseCode: string;
/**
* Refer to response code list
*
* @type {string}
* @memberof QueryPaymentResponse
*/
responseMessage: string;
/**
* Original transaction identifier on partner system
* @type {string}
* @memberof QueryPaymentResponse
*/
originalPartnerReferenceNo?: string;
/**
* Original transaction identifier on DANA system
* @type {string}
* @memberof QueryPaymentResponse
*/
originalReferenceNo?: string;
/**
* Original external identifier on header message
* @type {string}
* @memberof QueryPaymentResponse
*/
originalExternalId?: string;
/**
* Transaction type indicator:
* - IPG Cashier Pay - SNAP: 54
* - QRIS CPM (Acquirer) - SNAP: 60
* - QRIS MPM (Acquirer) - SNAP: 47
* - Payment Gateway: 54
*
* @type {string}
* @memberof QueryPaymentResponse
*/
serviceCode: string;
/**
* Status code:
* - 00 = Success. Order has been successfully in final state and paid
* - 01 = Initiated. Waiting for payment. Mark Payment as Pending
* - 02 = Paying. The order is in process, not in final state, payment is success. Mark Payment as Success
* - 05 = Cancelled. Order has been cancelled. Mark Payment as Failed
* - 07 = Not found. Order is not found. Mark Payment as Failed
*
* @type {string}
* @memberof QueryPaymentResponse
*/
latestTransactionStatus: string;
/**
* Description of transaction status
* @type {string}
* @memberof QueryPaymentResponse
*/
transactionStatusDesc?: string;
/**
* Original response code
* @type {string}
* @memberof QueryPaymentResponse
*/
originalResponseCode?: string;
/**
* Original response message
* @type {string}
* @memberof QueryPaymentResponse
*/
originalResponseMessage?: string;
/**
* Session identifier
* @type {string}
* @memberof QueryPaymentResponse
*/
sessionId?: string;
/**
* Transaction request identifier
* @type {string}
* @memberof QueryPaymentResponse
*/
requestID?: string;
/**
*
* @type {Money}
* @memberof QueryPaymentResponse
*/
transAmount?: Money;
/**
*
* @type {Money}
* @memberof QueryPaymentResponse
*/
amount?: Money;
/**
*
* @type {Money}
* @memberof QueryPaymentResponse
*/
feeAmount?: Money;
/**
* Payment timestamp in format YYYY-MM-DDTHH:mm:ss+07:00 (Jakarta time)
* @type {string}
* @memberof QueryPaymentResponse
*/
paidTime?: string;
/**
* Brief description of transaction
* @type {string}
* @memberof QueryPaymentResponse
*/
title?: string;
/**
*
* @type {QueryPaymentResponseAdditionalInfo}
* @memberof QueryPaymentResponse
*/
additionalInfo?: QueryPaymentResponseAdditionalInfo;
}
/**
* Check if a given object implements the QueryPaymentResponse interface.
*/
export declare function instanceOfQueryPaymentResponse(value: object): value is QueryPaymentResponse;
export declare function QueryPaymentResponseFromJSON(json: any): QueryPaymentResponse;
export declare function QueryPaymentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryPaymentResponse;
export declare function QueryPaymentResponseToJSON(json: any): QueryPaymentResponse;
export declare function QueryPaymentResponseToJSONTyped(value?: QueryPaymentResponse | null, ignoreDiscriminator?: boolean): any;
export declare function validateQueryPaymentResponse(value: QueryPaymentResponse): ValidationErrorContext[];