package com.neusoft.smart.pos.dto.trade.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * @author zcf
 * @date 2018-01-08 09：52
 * @description 商户支付渠道更新使用Request
 */
@Data
@ApiModel
public class PutPayChannelRequest {

	@ApiModelProperty(name = "shopId", value = "门店编号", dataType = "Integer" ,required=true)
	private Integer shopId;

	@ApiModelProperty(name = "appid", value = "公众账号ID", dataType = "String" )
	private String appid;

	@ApiModelProperty(name = "mchId", value = "第三方平台商户号", dataType = "String" )
	private String mchId;

	@ApiModelProperty(name = "subAppid", value = "子应用ID", dataType = "String" ,example="1")
	public String subAppid;

	@ApiModelProperty(name = "subMchId", value = "子商户号", dataType = "String" ,example="1")
	public String subMchId;

	@ApiModelProperty(name = "shopNo", value = "门店号(银商专用)", dataType = "String" )
	private String shopNo;

	@ApiModelProperty(name = "secretKey", value = "第三方平台密钥(微信支付必填)", dataType = "String" )
	private String secretKey;

	@ApiModelProperty(name = "appSecretKey", value = "第三方平台公众号密钥(微信支付必填)", dataType = "String" ,example="SD13Jdfs")
	private String appSecretKey;

	@ApiModelProperty(name = "publicKey", value = "第三方支付平台公钥(支付宝支付必填)", dataType = "String" ,example="SD13Jdfs")
	private String publicKey;

	@ApiModelProperty(name = "privateKey", value = "第三方支付平台私钥(支付宝支付必填)", dataType = "String" ,example="SD13Jdfs")
	private String privateKey;

	@NotNull(message = "支付方式不能为空")
	@ApiModelProperty(name = "payType", value = "付款方式编号@1:微信支付@2:支付宝支付@3:银行卡支付@4:微信转账@:5支付宝转账@6:现金支付@7:会员卡支付@8:当面资金授权支付@9:银联二维码支付", dataType = "String"  ,required=true)
	private String payType;

	@ApiModelProperty(name = "scanType", value = "扫描类型@1用户扫商户二维码@2商户扫用户二维码", dataType = "String",example="1")
	private String scanType;

	@ApiModelProperty(name = "imageUrl", value = "转账汇款图片URL", dataType = "String" )
	private String imageUrl;

	@ApiModelProperty(name = "cert", value = "证书文件(微信退款使用)", dataType = "byte")
	private byte[] cert;
}
