package com.jeesharp.business.modules.pay.paytype.pufapay.order.dto;

import com.jeesharp.business.modules.pay.constant.PayMessage;
import lombok.Data;

/**
 * @Author: wangmeng
 * @CreateTime: 2023-05-17  15:35
 * @Description: APP支付撤销交易响应报文
 */
@Data
public class AppPayCancelResp extends AppBaseResp {

    @PayMessage(name = "交易流水号", value = "transNo", isMax = true, maxLength = 26)
    private String transNo;

    @PayMessage(name = "子商户公众账号ID", value = "subMechNoAcctID", isMax = true, maxLength = 32,
            description = "微信返回")
    private String subMechNoAcctID;

    @PayMessage(name = "重试标志", value = "drctFlg", isMax = true, maxLength = 1,
            description = "必输,是否需要重试,Y-需要，N-不需要")
    private String drctFlg;

    @PayMessage(name = "撤销动作", value = "ovrdActn", isMax = true, maxLength = 10,
            description = "支付宝返回必输,本次撤销触发的交易动作 close：关闭交易，无退款 refund：产生了退款")
    private String ovrdActn;

    @PayMessage(name = "收单系统订单", value = "tranOrdrNo", isMax = true, maxLength = 32
            , description = "我行收单系统生成的订单号")
    private String tranOrdrNo;

    @PayMessage(name = "交易日期", value = "tranDate", isMax = true, maxLength = 8
            , description = "我行的撤销交易日期")
    private String tranDate;

    @PayMessage(name = " 商户号", value = "spdbMrchNo", isMax = true, maxLength = 15
            , description = " 我行给商户分配的商户号")
    private String spdbMrchNo;

    @PayMessage(name = "商户订单号", value = "frmrMrchOrdrNo", isMax = true, maxLength = 48
            , description = "商户提供的退款订单的商户订单号")
    private String frmrMrchOrdrNo;

    @PayMessage(name = "商户时间", value = "mrchTm", isMax = true, maxLength = 14
            , description = "商户系统的交易时间，格式：yyyyMMddHHmmss")
    private String mrchTm;

    @PayMessage(name = "清算日期", value = "clrgDate", isMax = true, maxLength = 8
            , description = "清算日期")
    private String clrgDate;

    @PayMessage(name = "交易金额", value = "tranAmt", isMax = true, maxLength = 12
            , description = "订单现金支付金额")
    private String tranAmt;

    @PayMessage(name = "订单状态", value = "ordrSt", isMax = true, maxLength = 2
            , description = "订单处理结果状态请查看 该字段：00-交易成功01-交易失败03-部分退货04-全部退货05-退货中09-支付中99-超时")
    private String ordrSt;

    @PayMessage(name = "公众账号ID", value = "pblcAcctId", isMax = true, maxLength = 32
            , description = "微信主商户的公众账号ID")
    private String pblcAcctId;

    @PayMessage(name = "第三方主商户号", value = "trdMerMechNo", isMax = true, maxLength = 32
            , description = "微信主商户/支付宝主商户")
    private String trdMerMechNo;

    @PayMessage(name = "业务结果", value = "qryRslt", isMax = true, maxLength = 32
            , description = "SUCCESS/FAIL")
    private String qryRslt;

    @PayMessage(name = "第三方错误码", value = "thdPtyErrCd", isMax = true, maxLength = 64
            , description = "微信错误码")
    private String thdPtyErrCd;

    @PayMessage(name = "错误信息", value = "errInfo", isMax = true, maxLength = 128
            , description = "微信错误信息描述")
    private String errInfo;

    @PayMessage(name = "备用字段1", value = "rsrvFld1", isMax = true, maxLength = 100)
    private String rsrvFld1;

    @PayMessage(name = "备用字段2", value = "rsrvFld2", isMax = true, maxLength = 100)
    private String rsrvFld2;

    @PayMessage(name = "备用字段3", value = "rsrvFld3", isMax = true, maxLength = 100)
    private String rsrvFld3;

    @PayMessage(name = "备用字段4", value = "rsrvFld4", isMax = true, maxLength = 200)
    private String rsrvFld4;

    @PayMessage(name = "备用字段5", value = "rsrvFld5", isMax = true, maxLength = 200)
    private String rsrvFld5;

    @PayMessage(name = "备用字段6", value = "rsrvFld6", isMax = true, maxLength = 200)
    private String rsrvFld6;

    @PayMessage(name = "备用字段7", value = "rsrvFld7", isMax = true, maxLength = 512)
    private String rsrvFld7;

    @PayMessage(name = "备用字段8", value = "rsrvFld8", isMax = true, maxLength = 512)
    private String rsrvFld8;

    @PayMessage(name = "代金券类型", value = "vchrTpCd", isMax = true, maxLength = 8
            , description = "微信退款返回")
    private String vchrTpCd;

    @PayMessage(name = "退款代金券ID", value = "rfndVchrId", isMax = true, maxLength = 20
            , description = "微信退款返回")
    private String rfndVchrId;

    @PayMessage(name = "单个代金券退款金额", value = "snglVchrWthdrwnAmt", isMax = true, maxLength = 12
            , description = "微信退款返回")
    private String snglVchrWthdrwnAmt;

}
