package com.tmerclub.cloud.payment.allinpay.order.resp;

/**
 * 订单结果通知
 * 1.入金类交易（使用银行账户资金进行支付），只有订单支付成功情况下才会通知；
 * 2.出金类交易（提现），不管失败或者成功都会通知。
 * @author gaozijie
 * @date 2023-03-31
 */
public class OrderResultNotice {
    /**
     * 通联订单号
     */
    private String orderNo;

    /**
     * 商户订单号（支付订单）
     */
    private String bizOrderNo;

    /**
     * 原通联订单号
     */
    private String oriOrderNo;

    /**
     * 原商户订单号
     */
    private String oriBizOrderNo;

    /**
     * 付款人（商户userId）
     */
    private String buyerBizUserId;

    /**
     * 退款去向（1:到账户余额，2:到原支付账户银行卡/微信/支付宝）
     */
    private Long refundWhereabouts;

    /**
     * 代付去向（1:到账户余额）
     */
    private Long payWhereabouts;

    /**
     * 微信支付的openid
     * 支付宝平台的user_id
     * 刷卡交易的隐藏卡号
     */
    private String acct;

    /**
     * 借贷标记（00:借记卡，01:存折，02:信用卡，03:准贷记卡，04:预付费卡，05:境外卡，99：其他）
     */
    private String accttype;

    /**
     * 终端号
     */
    private String termno;

    /**
     * 终端授权码
     */
    private String termauthno;

    /**
     * 渠道商户号(收银宝商户号)
     */
    private String cusid;

    /**
     * 通道交易流水号
     */
    private String payInterfaceOutTradeNo;

    /**
     * 支付渠道交易单号
     */
    private String chnltrxid;

    /**
     * 交易参考号
     */
    private String termrefnum;

    /**
     * 渠道手续费
     */
    private String channelFee;

    /**
     * 渠道交易完成时间
     */
    private String channelPayTime;

    /**
     * 渠道交易类型
     */
    private String payInterfacetrxcode;

    /**
     * 收银宝终端流水
     */
    private String traceno;

    /**
     * 拓展参数（原样返回）
     */
    private String extendInfo;

    /**
     * 收银宝渠道信息
     */
    private String chnldata;

    /**
     * 订单是否成功（OK:成功，error:失败，pending:进行中）
     */
    private String status;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getBizOrderNo() {
        return bizOrderNo;
    }

    public void setBizOrderNo(String bizOrderNo) {
        this.bizOrderNo = bizOrderNo;
    }

    public String getOriOrderNo() {
        return oriOrderNo;
    }

    public void setOriOrderNo(String oriOrderNo) {
        this.oriOrderNo = oriOrderNo;
    }

    public String getOriBizOrderNo() {
        return oriBizOrderNo;
    }

    public void setOriBizOrderNo(String oriBizOrderNo) {
        this.oriBizOrderNo = oriBizOrderNo;
    }

    public String getBuyerBizUserId() {
        return buyerBizUserId;
    }

    public void setBuyerBizUserId(String buyerBizUserId) {
        this.buyerBizUserId = buyerBizUserId;
    }

    public Long getRefundWhereabouts() {
        return refundWhereabouts;
    }

    public void setRefundWhereabouts(Long refundWhereabouts) {
        this.refundWhereabouts = refundWhereabouts;
    }

    public Long getPayWhereabouts() {
        return payWhereabouts;
    }

    public void setPayWhereabouts(Long payWhereabouts) {
        this.payWhereabouts = payWhereabouts;
    }

    public String getAcct() {
        return acct;
    }

    public void setAcct(String acct) {
        this.acct = acct;
    }

    public String getAccttype() {
        return accttype;
    }

    public void setAccttype(String accttype) {
        this.accttype = accttype;
    }

    public String getTermno() {
        return termno;
    }

    public void setTermno(String termno) {
        this.termno = termno;
    }

    public String getTermauthno() {
        return termauthno;
    }

    public void setTermauthno(String termauthno) {
        this.termauthno = termauthno;
    }

    public String getCusid() {
        return cusid;
    }

    public void setCusid(String cusid) {
        this.cusid = cusid;
    }

    public String getPayInterfaceOutTradeNo() {
        return payInterfaceOutTradeNo;
    }

    public void setPayInterfaceOutTradeNo(String payInterfaceOutTradeNo) {
        this.payInterfaceOutTradeNo = payInterfaceOutTradeNo;
    }

    public String getChnltrxid() {
        return chnltrxid;
    }

    public void setChnltrxid(String chnltrxid) {
        this.chnltrxid = chnltrxid;
    }

    public String getTermrefnum() {
        return termrefnum;
    }

    public void setTermrefnum(String termrefnum) {
        this.termrefnum = termrefnum;
    }

    public String getChannelFee() {
        return channelFee;
    }

    public void setChannelFee(String channelFee) {
        this.channelFee = channelFee;
    }

    public String getChannelPayTime() {
        return channelPayTime;
    }

    public void setChannelPayTime(String channelPayTime) {
        this.channelPayTime = channelPayTime;
    }

    public String getPayInterfacetrxcode() {
        return payInterfacetrxcode;
    }

    public void setPayInterfacetrxcode(String payInterfacetrxcode) {
        this.payInterfacetrxcode = payInterfacetrxcode;
    }

    public String getTraceno() {
        return traceno;
    }

    public void setTraceno(String traceno) {
        this.traceno = traceno;
    }

    public String getExtendInfo() {
        return extendInfo;
    }

    public void setExtendInfo(String extendInfo) {
        this.extendInfo = extendInfo;
    }

    public String getChnldata() {
        return chnldata;
    }

    public void setChnldata(String chnldata) {
        this.chnldata = chnldata;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "OrderResultNotice{" +
                "orderNo='" + orderNo + '\'' +
                ", bizOrderNo='" + bizOrderNo + '\'' +
                ", oriOrderNo='" + oriOrderNo + '\'' +
                ", oriBizOrderNo='" + oriBizOrderNo + '\'' +
                ", buyerBizUserId='" + buyerBizUserId + '\'' +
                ", refundWhereabouts=" + refundWhereabouts +
                ", payWhereabouts=" + payWhereabouts +
                ", acct='" + acct + '\'' +
                ", accttype='" + accttype + '\'' +
                ", termno='" + termno + '\'' +
                ", termauthno='" + termauthno + '\'' +
                ", cusid='" + cusid + '\'' +
                ", payInterfaceOutTradeNo='" + payInterfaceOutTradeNo + '\'' +
                ", chnltrxid='" + chnltrxid + '\'' +
                ", termrefnum='" + termrefnum + '\'' +
                ", channelFee='" + channelFee + '\'' +
                ", channelPayTime='" + channelPayTime + '\'' +
                ", payInterfacetrxcode='" + payInterfacetrxcode + '\'' +
                ", traceno='" + traceno + '\'' +
                ", extendInfo='" + extendInfo + '\'' +
                ", chnldata='" + chnldata + '\'' +
                ", status='" + status + '\'' +
                '}';
    }
}
