package com.slodon.b2b2c.starter.entity;

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

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 统一转账封装参数
 */
@Data
public class SlodonTransfersRequest implements Serializable {

    private static final long serialVersionUID = 6265136784827937877L;
    @ApiModelProperty(value = "支付宝付款基础参数，支付宝付款时必传")
    private AliPayProperties alipayProperties;

    @ApiModelProperty(value = "微信付款基础参数，微信支付时必传")
    private WxPayProperties wxPayProperties;

    @ApiModelProperty(value = "转账方式，wx-微信，alipay-支付宝", required = true)
    private String transfersMethod;

    @ApiModelProperty(value = "商户订单号(转账单)，需保持唯一性", required = true)
    private String transferSn;

    @ApiModelProperty(value = "转账金额(支付宝:单位为元; 微信:单位为分)", required = true)
    private BigDecimal amount;

    @ApiModelProperty(value = "商户appId下，某用户的openId(微信参数)")
    private String openId;

    @ApiModelProperty(value = "支付宝登录号，支持邮箱和手机号格式(支付宝参数)")
    private String loginAccount;

    @ApiModelProperty(value = "真实姓名(支付宝和微信参数)")
    private String realName;

    @ApiModelProperty(value = "NO_CHECK：不校验真实姓名 FORCE_CHECK：强校验真实姓名(微信参数)")
    private String checkName = "FORCE_CHECK";

    @ApiModelProperty(value = "转账备注")
    private String remark;

    @ApiModelProperty(value = "用户端或者服务端的IP(微信参数)")
    private String spBillCreateIp;
}
