package cn.iocoder.yudao.module.system.controller.admin.pay.vo;

import cn.iocoder.yudao.module.system.util.pay.CcbPayConstant;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class CcbPayRequest {

    // 必传字段
    private String merchantId = ""; // MERCHANTID
    private String posId = "";      // POSID
    private String branchId = "";   // BRANCHID
    private String orderId = "";    // ORDERID
    private BigDecimal payment = BigDecimal.ZERO; // PAYMENT
    private String tradeType = "";  // TRADE_TYPE（MINIPRO/JSAPI）
    private String subAppId = "";   // SUB_APPID
    private String subOpenId = "";  // SUB_OPENID
    private String pub = "";        // 公钥后30位（仅MAC用）

    // 可选字段（空值默认""）
    private String remark1 = "";    // REMARK1
    private String remark2 = "";    // REMARK2
    private String clientIp = "";   // CLIENTIP
    private String regInfo = "";    // REGINFO（中文不escape）
    private String proInfo = "";    // PROINFO（中文不escape）
    private String referer = "";    // REFERER

    // 固定字段（无需手动赋值）
    private final String curCode = CcbPayConstant.CURCODE;
    private final String txCode = CcbPayConstant.PAY_TXCODE;
    private final String type = CcbPayConstant.TYPE;
    private final String gateway = CcbPayConstant.GATEWAY;

    // 生成的MAC值
    private String mac = "";
}
