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

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

/**
 * 调用“APP支付撤销交易”API，对已发起的订单进行撤销处理。
 * @Author: wangmeng
 * @CreateTime: 2023-05-17  15:35
 * @Description: APP支付撤销交易提交报文
 */
@Data
public class AppPayCancel extends AppBaseReq{

    private String requestMethod="POST";

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

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

    @PayMessage(name = "商户号", value = "spdbMrchNo", isMax = true, maxLength = 15, must = "Y"
            , description = "浦发收单给商户分配的特约商户号")
    private String spdbMrchNo;

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

    @PayMessage(name = "商户时间", value = "mrchTm", isMax = true, maxLength = 14, must = "Y"
            , description = "商户系统发送退货请求的时间 ，格式:yyyyMMddHHmmss")
    private String mrchTm;

    @PayMessage(name = "原商户订单号", value = "frmrMrchOrdrNo", isMax = true, maxLength = 48
            , description = "商户提供的支付订单的原商户订单号（原交易流水号和原清算日期，原商户订单号和原商户日期，必填一组。）")
    private String frmrMrchOrdrNo;

    @PayMessage(name = "原交易日期", value = "origTranDate", isMax = true, maxLength = 8
            , description = "原支付订单的交易日期，格式'yyyyMMdd'")
    private String origTranDate;

    @PayMessage(name = "原商户日期", value = "frmrMrchDate", isMax = true, maxLength = 8
            , description = "商户发送原支付订单的日期 ， 格式yyyyMMdd")
    private String frmrMrchDate;

    @PayMessage(name = "网联IDC标识", value = "idcFlg", isMax = true, maxLength = 2
            , description = "网联IDC标识idc_flag")
    private String idcFlg;

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

}
