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 AppPayReturnResp 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 = "rfndAmt", isMax = true, maxLength = 12,
            description = "微信返回的退款金额（非必输），支付宝返回的退款总金额（必输")
    private String rfndAmt;

    @PayMessage(name = "订单总金额", value = "totalAmt", isMax = true, maxLength = 12,
            description = "微信退款返回必输")
    private String totalAmt;

    @PayMessage(name = "应结订单金额", value = "setlAmt", isMax = true, maxLength = 12,
            description = "微信退款返回")
    private String setlAmt;

    @PayMessage(name = "现金支付金额", value = "pymtAmount", isMax = true, maxLength = 12
            , description = "微信退款返回必输")
    private String pymtAmount;

    @PayMessage(name = "现金退款金额", value = "cashRfndAmt", isMax = true, maxLength = 12
            , description = "微信退款返回")
    private String cashRfndAmt;

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

    @PayMessage(name = "退款代金券使用数量", value = "vcherNum", isMax = true, maxLength = 12,
            description = "微信退款返回")
    private String vcherNum;

    @PayMessage(name = "买家支付宝账号", value = "byrOfAlipayAcctNo", isMax = true, maxLength = 100,
            description = "支付宝退款返回必输")
    private String byrOfAlipayAcctNo;

    @PayMessage(name = "资金变化标志", value = "byrOfAlipayAcctNo", isMax = true, maxLength = 1,
            description = "支付宝退款返回必输")
    private String fndChngFlg;

    @PayMessage(name = "退款使用的资金渠道", value = "wthdrwnUsAmtCnl", isMax = true, maxLength = 512,
            description = "支付宝退款返回")
    private String wthdrwnUsAmtCnl;

    @PayMessage(name = "商户门店名称", value = "mrchStrNm", isMax = true, maxLength = 512
            , description = "支付宝退款返回")
    private String mrchStrNm;

    @PayMessage(name = "买家的支付宝用户id", value = "byrAlpayID", isMax = true, maxLength = 28
            , description = "支付宝退款返回必输")
    private String byrAlpayID;

    @PayMessage(name = "币种", value = "ccy", isMax = true, maxLength = 2
            , description = "目前只支持01-人民币")
    private String ccy;

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

    @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 = "transAmt", isMax = true, maxLength = 12
            , description = "本次申请退款的金额，该金额不能大于订单金额,单位为元，支持两位小数")
    private String transAmt;

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

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

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

    @PayMessage(name = "优惠退款详情", value = "dcnRfdDtl", isMax = true, maxLength = 2000
            , description = "银联返回的优惠退款详情")
    private String dcnRfdDtl;

    @PayMessage(name = "退款受理时间", value = "rfndAcceptTime", isMax = true, maxLength = 14
            , description = "银联退款受理时间")
    private String rfndAcceptTime;

    @PayMessage(name = "第三方平台时间", value = "thdPltfrmTm", isMax = true, maxLength = 14
            , description = "退款支付时间，格式yyyyMMddHHmmss")
    private String thdPltfrmTm;

    @PayMessage(name = "买家退款金额", value = "byrRfndAmnt", isMax = true, maxLength = 12
            , description = "本次退款金额中买家退款金额")
    private String byrRfndAmnt;

    @PayMessage(name = "平台优惠退款金额", value = "dscntRfndAmnt", isMax = true, maxLength = 12
            , description = "本次退款金额中平台优惠退款金额")
    private String dscntRfndAmnt;

    @PayMessage(name = "商家优惠退款金额", value = "mdsctRfndAmnt", isMax = true, maxLength = 12
            , description = "本次退款金额中商家优惠退款金额")
    private String mdsctRfndAmnt;

    @PayMessage(name = "本次商户实际退回金额", value = "actRfndAmt", isMax = true, maxLength = 12
            , description = "本次商户实际退回金额")
    private String actRfndAmt;

    @PayMessage(name = "第三方返回码", value = "thdPtyRtCd", isMax = true, maxLength = 16
            , description = "第三方返回码")
    private String thdPtyRtCd;

    @PayMessage(name = "第三方返回信息", value = "thdPtyRtInfo", isMax = true, maxLength = 128
            , description = "第三方返回信息")
    private String thdPtyRtInfo;

    @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 = "thdPtyErrInfo", isMax = true, maxLength = 128
            , description = "第三方错误信息")
    private String thdPtyErrInfo;

    @PayMessage(name = "交易通道", value = "trdChnl", isMax = true, maxLength = 10
            , description = "WX-微信AL-支付宝UPWX-银联微信UPAL-银联支付宝NUWX-网联微信NUAL-网联支付宝")
    private String trdChnl;

    @PayMessage(name = "营业机构号", value = "bussBranchId", isMax = true, maxLength = 4
            , description = "营业机构")
    private String bussBranchId;

    @PayMessage(name = "交易柜员", value = "tranTellerNo", isMax = true, maxLength = 8
            , description = "交易柜员")
    private String tranTellerNo;

    @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;

}
