package com.jsowell.adapay.common;

import lombok.Data;

/**
 * 创建Adapay 支付对象参数
 */
@Data
public class CreateAdaPaymentParam {
	/**
	 * String(64)
	 * Y
	 * 请求订单号，只能为英文、数字或者下划线的一种或多种组合，保证在app_id下唯一
	 */
	private String order_no;

	/**
	 * String(64)
	 * Y
	 * 控制台 主页面应用的app_id
	 */
	private String app_id;

	/**
	 * String(20)
	 * Y
	 * 支付渠道，参见 支付渠道
	 */
	private String pay_channel;

	/**
	 * String(14)
	 * Y
	 * 交易金额，必须大于0，保留两位小数点，如0.10、100.05等
	 */
	private String pay_amt;

	/**
	 * String(20)
	 * N
	 * 支付模式，delay- 延时分账模式（值为 delay 时，div_members 字段必须为空）；值为空时并且div_mermbers不为空时，表示实时分账；值为空时并且div_mermbers也为空时，表示不分账
	 */
	private String pay_mode;

	/**
	 * String(64)
	 * Y
	 * 商品标题
	 */
	private String goods_title;

	/**
	 * String(127)
	 * Y
	 * 商品描述信息，微信小程序和微信公众号该字段最大长度42个字符
	 */
	private String goods_desc;

	/**
	 * String(3)
	 * N
	 * 3位 ISO 货币代码，小写字母，默认为人民币：cny，详见 货币代码
	 */
	private String currency;

	/**
	 * String
	 * N
	 * 分账对象信息列表，最多仅支持7个分账方，json 数组形式，详见 分账对象信息列表
	 */
	private String div_members;

	/**
	 * String(128)
	 * N
	 * 订单附加说明
	 */
	private String description;

	/**
	 * String(20)
	 * N
	 * 订单失效时间，输入格式：yyyyMMddHHmmss，最长失效时间为微信、支付宝：反扫类：3分钟；非反扫类：2小时；云闪付：1天，值为空时默认最长时效时间
	 */
	private String time_expire;

	/**
	 * Map
	 * Y
	 * 前端设备信息，详见 设备信息
	 */
	private String device_info;

	/**
	 * Map
	 * N
	 * 支付渠道额外参数，JSON格式，条件可输入，详见 支付渠道 expend参数
	 */
	private String expend;

	/**
	 * String(250)
	 * N
	 * 异步通知地址，url为http/https路径，服务器POST回调，URL 上请勿附带参数
	 */
	private String notify_url;

	/**
	 * String(1)
	 * N
	 * 手续费收取模式：O-商户手续费账户扣取手续费，I-交易金额中扣取手续费；值为空时，默认值为I；若为O时，分账对象列表中不支持传入手续费承担方
	 */
	private String fee_mode;
}
