/**
* 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 { RefundOrderRequestAdditionalInfo } from './RefundOrderRequestAdditionalInfo';
/**
*
* @export
* @interface RefundOrderRequest
*/
export interface RefundOrderRequest {
/**
* Merchant identifier that is unique per each merchant
* @type {string}
* @memberof RefundOrderRequest
*/
merchantId: string;
/**
* Information of sub merchant identifier
* @type {string}
* @memberof RefundOrderRequest
*/
subMerchantId?: string;
/**
* Original transaction identifier on DANA system
* @type {string}
* @memberof RefundOrderRequest
*/
originalReferenceNo?: string;
/**
* Original transaction identifier on partner system
* @type {string}
* @memberof RefundOrderRequest
*/
originalPartnerReferenceNo: string;
/**
* Original external identifier on header message
* @type {string}
* @memberof RefundOrderRequest
*/
originalExternalId?: string;
/**
* DANA's capture identifier. Use to refund the corresponding capture order. Required if auth payment scenario
* @type {string}
* @memberof RefundOrderRequest
*/
originalCaptureNo?: string;
/**
* Reference number from merchant for the refund
* @type {string}
* @memberof RefundOrderRequest
*/
partnerRefundNo: string;
/**
* Refund amount. Contains two sub-fields:
* 1. Value: Transaction amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof RefundOrderRequest
*/
refundAmount: Money;
/**
* Store identifier to indicate to which store this payment belongs to
* @type {string}
* @memberof RefundOrderRequest
*/
externalStoreId?: string;
/**
* Refund reason
* @type {string}
* @memberof RefundOrderRequest
*/
reason?: string;
/**
* Additional information
* @type {RefundOrderRequestAdditionalInfo}
* @memberof RefundOrderRequest
*/
additionalInfo?: RefundOrderRequestAdditionalInfo;
}
/**
* Check if a given object implements the RefundOrderRequest interface.
*/
export declare function instanceOfRefundOrderRequest(value: object): value is RefundOrderRequest;
export declare function RefundOrderRequestFromJSON(json: any): RefundOrderRequest;
export declare function RefundOrderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RefundOrderRequest;
export declare function RefundOrderRequestToJSON(json: any): RefundOrderRequest;
export declare function RefundOrderRequestToJSONTyped(value?: RefundOrderRequest | null, ignoreDiscriminator?: boolean): any;
export declare function validateRefundOrderRequest(value: RefundOrderRequest): ValidationErrorContext[];