package com.jeequan.jeepay.core.model.params.yspay;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jeequan.jeepay.core.annotate.ChannelMchId;
import com.jeequan.jeepay.core.constants.ChannelMchIdTypeEnum;
import com.jeequan.jeepay.core.model.params.IsvParams;
import lombok.Data;

/**
 * 银盛 isv参数定义
 *
 * @author xiaoyu
 * @site https://www.jeequan.com
 * @date 2022/7/8 11:02
 */
@Data
public class YspayIsvParams extends IsvParams {

    public static final Byte PAY_TYPE_PAY = 1;
    public static final Byte PAY_TYPE_DIVISION = 2;

    /** 加密方式 RSA/SM */
    private String signType;

    /** 结算方式 1- T1  2-D1 3-D0 */
    private String settType;

    /** 服务商号 */
    @ChannelMchId(type = ChannelMchIdTypeEnum.ISV_NO)
    private String partnerId;

    /** 服务商编号 */
    private String agtMercId;

    /**  */
    private String cusMgrNm;

    /** 微信渠道拓展二维码URL */
    private String wxOpenUrl;

    /** 微信公众号/小程序 appId **/
    private String wxAppId;

    /** 支付宝渠道拓展二维码URL **/
    private String aliChannelExtUrl;

    /** 银盛机构号 【已废弃】*/
    private String src;

    /** POS秘钥 */
    private String posPrivateKey;

    /** 私钥证书秘钥 */
    private String privateKeyPassword;

    /** 私钥证书文件 （.pfx/.sm2） */
    private String privateKeyFile;

    /** 银盛公钥证书文件 （.cer） */
    private String publicKeyFile;

    /** 商户支付模式  支付模式,分账模式 1,2*/
    private String payType;

    @Override
    public String deSenData() {
        YspayIsvParams isvParams = this;
        return ((JSONObject) JSON.toJSON(isvParams)).toJSONString();
    }
}
