package org.jeecg.modules.pay.request.v3.labs.accbusifields;

/**
 * 微信支付
 * 账户端业务信息域
 * 交易接口请求
 * 交易接口V3.0下支付类接口
 *
 * @author Mr丶xie
 * @version 1.0.0
 * @mail xielinke@lklink.cn
 */
public class WxPayAccBusiFieldsRequest extends ReqAccBusiFields {

    /**
     * 预下单有效时间
     * 预下单的订单的有效时间，以分钟为单位。建议不超过15分钟。不传值则默认5分钟。
     * (微信主扫下单上送的失效时间，是控制prepay_id调起支付的有效时间。微信后台不会根据失效时间发起关单。 如需关单，调用关单接口。)
     */
    private String timeout_express;

    /**
     * 子商户公众账号ID
     * 微信分配的子商户公众账号ID，sub_appid
     * （即微信小程序支付-71、公众号支付-51），此参数必传，只对微信支付有效
     * 工行数字钱包情况下，该字段上送工行的openId 拉卡拉钱包情况下，该字段上送LAKALA的userId
     */
    private String sub_appid;

    /**
     * 用户标识
     * 用户在子商户sub_appid下的唯一标识，sub_openid，
     * （即微信小程序支付-71、众号支付-51），此参数必传，只对微信支付有效
     */
    private String user_id;

    /**
     * 商品详情
     */
    private WxPayDetailRequest detail;

    /**
     * 订单优惠标记
     * 订单优惠标记，微信平台配置的商品标记，用于优惠券或者满减使用，
     * accountType为WECHAT时，可选填此字段
     */
    private String goods_tag;

    /**
     * 附加域
     * 该字段主要用于商户携带订单的自定义数据。商户定制字段，直接送到账户端。
     */
    private String attach;

    /**
     * 设备号
     * 终端设备号(门店号或收银设备ID)，
     * 注意：PC网页或JSAPI支付请传”WEB”
     */
    private String device_info;

    /**
     * 指定支付方式
     * no_credit–指定不能使用信用卡支付
     */
    private String limit_pay;

    public String getTimeout_express() {
        return timeout_express;
    }

    public void setTimeout_express(String timeout_express) {
        this.timeout_express = timeout_express;
    }

    public String getSub_appid() {
        return sub_appid;
    }

    public void setSub_appid(String sub_appid) {
        this.sub_appid = sub_appid;
    }

    public String getUser_id() {
        return user_id;
    }

    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }

    public WxPayDetailRequest getDetail() {
        return detail;
    }

    public void setDetail(WxPayDetailRequest detail) {
        this.detail = detail;
    }

    public String getGoods_tag() {
        return goods_tag;
    }

    public void setGoods_tag(String goods_tag) {
        this.goods_tag = goods_tag;
    }

    public String getAttach() {
        return attach;
    }

    public void setAttach(String attach) {
        this.attach = attach;
    }

    public String getDevice_info() {
        return device_info;
    }

    public void setDevice_info(String device_info) {
        this.device_info = device_info;
    }

    public String getLimit_pay() {
        return limit_pay;
    }

    public void setLimit_pay(String limit_pay) {
        this.limit_pay = limit_pay;
    }
}
