package com.slodon.b2b2c.starter.entity.cpcn;

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

import java.io.Serializable;

/**
 * 中金支付请求参数
 */
@Data
public class TxPayRequest implements Serializable {

    private static final long serialVersionUID = -4660155725275393670L;

    //公共信息
    @ApiModelProperty(value = "机构编号", required = true)
    private String institutionId;
    @ApiModelProperty(value = "交易流水号", required = true)
    private String txSn;
    @ApiModelProperty(value = "付款用户id，格式：m+会员id", required = true)
    private String payerUserId;
    @ApiModelProperty(value = "收款用户id", required = true)
    private String payeeUserId;
    @ApiModelProperty(value = "收款用户账号", required = true)
    private String payeeAccountNumber;
    @ApiModelProperty(value = "是否有后续分账，1-否，2-是；如果此次支付全部为自营或者店铺全部未在中金开户，无后续分账", required = true)
    private String hasSubsequentSplit = "2";
    @ApiModelProperty(value = "支付方式，00-余额支付，20-网银支付，42-扫码支付，80跳转支付", required = true)
    private String paymentWay;


    //20网银支付
    @ApiModelProperty(value = "回调URL地址")
    private String pageUrl;
    @ApiModelProperty(value = "账户类型：11=个人账户，12=企业账户")
    private String bankAccountType = "12";
    @ApiModelProperty(value = "卡类型：10=借记账户，20=贷记账户，个人账户必填")
    private String bankCardType;
    @ApiModelProperty(value = "银行id，参照银行编码表")
    private String bankID;

    //42扫码、80跳转支付公共
    @ApiModelProperty(value = "商品名称")
    private String goodsName;
    @ApiModelProperty(value = "交易失效时间，单位分钟")
    private String expirePeriod = "5";

    //42扫码
    @ApiModelProperty(value = "条码支付类型:10=微信，20=支付宝")
    private String scanPaymentType;
    @ApiModelProperty(value = "条码支付方式，41=正扫")
    private String scanPaymentWay = "41";
    @ApiModelProperty(value = "取消支付后的前台跳转页面")
    private String cancelPayRedirectPageURL;
    @ApiModelProperty(value = "成功前台跳转页面")
    private String redirectPageURL;

    //80跳转支付
    @ApiModelProperty(value = "支付类型：31=微信,32=支付宝")
    private String payType;
    @ApiModelProperty(value = "支付方式：45=普通h5,46=app，50=微信h5,51=小程序支付")
    private String payWay;
    @ApiModelProperty(value = "平台名称，80跳转支付必传")
    private String platformName;
    @ApiModelProperty(value = "付款用户OPENID")
    private String subOpenID;
    @ApiModelProperty(value = "微信商户号")
    private String subAppID;
    @ApiModelProperty(value = "跳转前来源：10=app,20=普通h5,30=微信h5,40=微信小程序")
    private String redirectSource;

}
