import { ITrade } from './trade'; import { ETradeChannel, EPaymentBrand } from './enum'; import { IQueryParams, IPagination } from './common'; /** 暂扣释放 */ export interface ITradeHoldReq { intStoreCode: string; origOrderNum: string; reason: string; remark: string; } export interface ITradeReleaseReq { reason: string; remark: string; } export interface ITradeHoldCheckReq { intStoreCode: string; origOrderNum: string; remark?: string; } export interface IHoldReleaseDetailObj { trans: ITrade; riskStatus: ERiskStatus; holdDetail: IHoldReleaseDetail; releaseDetail: IHoldReleaseDetail; } export interface ICodeMsgResponse { code: string; msg: string; } export declare enum ERiskStatus { 'Holded' = "holded", 'Released' = "released" } export declare enum ERiskStatusMap { 'holded' = "OPERATION.HOLD", 'released' = "OPERATION.RELEASE" } export declare enum EHoldErrorCode { Holded = "MSG_CODE.BIZ.TRANS_HOLDED" } export interface IHoldReleaseDetail { riskTime: string; reason: string; operator: string; remark: string; } export declare enum EHoldReason { '01' = "OPERATION.HOLD.REASON.RISKTRADE", '02' = "OPERATION.HOLD.REASON.FAKECARD" } export declare enum EReleaseReason { '03' = "OPERATION.RELEASE.REASON.NORISK", '04' = "OPERATION.RELEASE.REASON.HOLDTOOLONG" } /** 差错 */ export interface IChargeBack { /** 案例编号 */ disputeNum: string; storeName: string; storeNameEN: string; /** ARN */ acqReferData: string; /** 卡品牌 */ cardBrand: ETradeChannel; /** 差错时间 */ transDateTime: string; /** 差错类型 */ transCode: EChargeBackTransCode; /** 渠道 */ channel: EPaymentBrand; /** 差错金额 */ transAmt: number; /** 扣款金额 */ billingAmt: number; /** 币种 */ transCurr: string; /** 扣款币种 */ billingCurr: string; /** 状态 */ processFlag: string; /** ProcessTypeMap */ /** 处理方式 */ processType: EChargeBackProcessType; /** 检索参考号 */ refNum: string; /** 卡号 */ cardNum: string; /** 授权码 */ authCode: string; /** ARN */ ARN: string; /** 原因代码 后端返回就是 resonCode */ resonCode: string; /** 操作用户 */ operator: string; /** 备注 */ remark: string; /** 原交易 */ origTrans?: ITrade; /** 扣款金额 */ upTransAmt: number; /** 扣款金额币种 */ upTransCurr: string; /** 再请款金额 */ downTransAmt: number; /** 再请款金额币种 */ downTransCurr: string; /** 再请款金额 */ /** 差错日期 */ createdAt: string; updatedAt: string; } export declare enum EChargeBackTransCode { /** 调单 Retrival */ RTV = "RTV", /** 退单 Chargeback */ FCB = "FCB", /** 二次退单 Second-Chargeback */ SCB = "SCB", /** 退回 Reject */ REJ = "REJ" } export declare enum EChargeBackStatus { /** 待处理 */ Todo = "0", /** 已完成 */ Done = "1", /** 已关闭 */ Closed = "2" } /** 处理方式 */ export declare enum EChargeBackProcessType { /** 未处理, 前端不展示 */ /** 商户扣款 */ MerchantDebit = "1", /** 再请款 */ Representment = "2", /** 调单回复 */ Retrievaled = "3", /** 调单回复, 同已调单 */ /** 仲裁 */ Arbitrate = "4", /** 扣款再请款 */ DebitAndRepresent = "5", /** 关闭 */ Close = "9" } export declare const ChargeBackStatusMap: { 0: string; 1: string; 2: string; }; export declare const ChargeBackProcessTypeMap: { 1: string; 2: string; 3: string; 4: string; 5: string; 9: string; }; export declare const ChargeBackTransCodeMap: { /** 调单 */ RTV: string; /** 退单 */ FCB: string; /** 二次退单 */ SCB: string; /** 退回 */ REJ: string; }; export declare const ProcessFlagMap: { 0: string; 1: string; 2: string; }; export declare const ReasonCodeMap: { 2000: string; 2001: string; 2002: string; 2003: string; 2004: string; 2005: string; 2006: string; 2007: string; 2008: string; 2009: string; 2010: string; 2011: string; 2012: string; 2700: string; 2701: string; 4516: string; }; /** 查询列表请求体 */ export interface IChargeBackQueryParams extends IQueryParams { startTime?: string; endTime?: string; orderNum?: string; chargeAmtFrom?: number; chargeAmtTo?: number; currency?: string; channel?: string; refNum?: string; codeNum?: string; authCode?: string; ARN?: string; reasonCode?: string; type?: string; handleMethod?: string; status?: string; insCode?: string; agentCode?: string; intMerCode?: string; intStoreCode?: string; } /** 查询列表返回数据 */ export interface IChargeBackPagination extends IPagination { data: IChargeBack[]; } /** 处理请求体 */ export interface IChargeBackOperateReq { /** 编号 */ disputeNum: string; /** 处理方式 */ processType: EChargeBackProcessType; /** 操作备注 */ remark: string; /** 金额 */ transAmt?: number; /** 原因代码 */ reasonCode?: string; /** MMT */ memMessTxt?: string; /** 文本标志 */ docIndicator?: boolean; } /** 请求结构体类 */ export declare class OperateBody { remark: string; amt: number; reasonCode: string; MMT: string; docIndicator: boolean; } export declare enum EChargeOperateBodyI18n { remark = "OPERATION.CHARGEBACK.OPERATEREMARK", amt = "TRADE.CHARGEBACK.AMT", reasonCode = "OPERATION.CHARGEBACK.REASONCODE", MMT = "OPERATION.CHARGEBACK.MMT", docIndicator = "OPERATION.CHARGEBACK.DOCINDICATOR" }