package com.yonge.cooleshow.sdk.adapay.dto;

import com.yonge.cooleshow.sdk.req.DeviceInfo;

import java.io.Serializable;

/**
 * Description
 *
 * @author liujunchi
 * @date 2022-04-27
 */
public class RefundReq implements Serializable {

    /**
     * 当支付确认成功后进行退款，请传入支付确认对象的id；当实时分账成功后进行退款，请传入支付对象的id。
     *
     * Y
     */
    private String id;

    /**
     * 请求订单号，只能为英文、数字或者下划线的一种或多种组合
     *
     * Y
     */
    private String refund_order_no;

    /**
     * 退款金额，若退款金额小于原交易金额，则认为是部分退款，必须大于0，保留两位小数点，如0.10、100.05等
     *
     * Y
     */
    private String refund_amt;

    /**
     * 退款描述
     */
    private String reason;

    /**
     * 扩展域
     */
    private String expend;

    /**
     * 前端设备信息
     */
    private DeviceInfo device_info;

    /**
     * 分账对象信息列表
     */
    private String div_members;

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

    /**
     * 快速失败标识：N 或者为空时-退款失败及时返回错误，仅支持实时分账场景；
     * 为Y时，退款失败会走 Adapay 人工审核流程，核对后再次出款或回账，最晚 T+3 返回终态结果
     */
    private String fail_fast;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRefund_order_no() {
        return refund_order_no;
    }

    public void setRefund_order_no(String refund_order_no) {
        this.refund_order_no = refund_order_no;
    }

    public String getRefund_amt() {
        return refund_amt;
    }

    public void setRefund_amt(String refund_amt) {
        this.refund_amt = refund_amt;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getExpend() {
        return expend;
    }

    public void setExpend(String expend) {
        this.expend = expend;
    }

    public DeviceInfo getDevice_info() {
        return device_info;
    }

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

    public String getDiv_members() {
        return div_members;
    }

    public void setDiv_members(String div_members) {
        this.div_members = div_members;
    }

    public String getNotify_url() {
        return notify_url;
    }

    public void setNotify_url(String notify_url) {
        this.notify_url = notify_url;
    }

    public String getFail_fast() {
        return fail_fast;
    }

    public void setFail_fast(String fail_fast) {
        this.fail_fast = fail_fast;
    }
}
