package io.renren.vo;

import java.math.BigDecimal;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 外部代发申请 请求连连参数
 * @author lsy
 */

@Data
@EqualsAndHashCode
public class TransferParams {
	
	private String timestamp;
    private String oid_partner;
    private String notify_url;
    private String pay_expire;//订单有效期，单位：分钟，默认3天
    private String funds_flag;//垫资标识Y：支持垫资N：不支持垫资
    private String check_flag;//审核标识Y:需要代发确认N：无需代发确认
    private String pay_time_type;//到账类型TRANS_THIS_TIME :实时到账默认TRANS_NORMAL :普通到账（2小时内）TRANS_NEXT_TIME :次日到账
    private String risk_item;
    private OrderInfo orderInfo;
    private PayerInfo payerInfo;
    private PayeeInfo payeeInfo;

	/**
	 * 商户订单信息
	 */
	@Data
	public class OrderInfo {
		private String txn_seqno;
	    private String txn_time;
	    private BigDecimal total_amount;
	    private BigDecimal fee_amount;
	    private String txn_purpose;
	    private String postscript;
	    private String order_info;
	}
	
	/**
	 * 付款方信息
	 */
	@Data
	public class PayerInfo{
		private String payer_type;
		private String payer_id;
		private String payer_accttype;//付款方账户类型USEROWN：用户自有可用账户MCHOWN：平台商户自有可用账户
		private String password;
	    private String random_key;
	    private String pap_agree_no;
	    
	}
	
	/**
	 * 收款方信息
	 */
	@Data
	public class PayeeInfo{
		private String payee_type;//收款方类型对私银行账户：BANKACCT_PRI对公银行账户：BANKACCT_PUB
		private String bank_acctno;//银行账号
		private String bank_code;//银行编码。收款方类型为对公银行账户必须
		private String bank_acctname;//户名
		private String cnaps_code;//大额行号。银行大额行号，收款方类型为对公银行账户必须
	}
}
