package com.yn.bftl.thirdparty.modules.unionpay.dto.easylinkpay;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @Author：Vance
 * @Description：转账DTO
 * @Date：2022/9/17 15:12
 */
@Data
@Accessors(chain = true)
public class TransferDTO {

  /**
   * 商户订单号
   * 客户端唯一标记该笔交易
   */
  private String mctOrderNo;

  /**
   * 转出电子账户 ID   必填
   */
  private String fromWalletId;

  /**
   * 转出电子账户名称
   */
  private String fromWalletName;

  /**
   * 交易类型
   * wallbc020006：转账（默认）
   * wallbc020052：C 扫 C 付款
   * wallbc020053：授信支付转账
   * wallbc020054：授信还款转账
   * wallbc020055：授信利息转账
   * wallbc020056：授信逾期转让转账
   * wallbc020057：授信保理手续费转账
   * wallbc020077：好订单退货
   */
  private String transType;

  /**
   * 付款类型
   * 00：账户余额/付款码（默认）
   * 01：银行卡
   */
  private String payType;

  /**
   * 付款银行卡
   * 付款类型为银行卡时必填
   */
  private String payBankAcctNo;

  /**
   * 转账金额  必填
   * 单位（分）
   */
  private Long transferAmt;

  /**
   * 转入电子账户 ID   必填
   */
  private String intoWalletId;

  /**
   * 转入电子账户名称
   */
  private String intoWalletName;

  /**
   * 手续费 单位（分）
   */
  private Integer feeAmt;

  /**
   * 手续费收入电子账户 ID
   */
  private String feeIntoWalletId;

  /**
   * 验证方式
   */
  private String tradeWayCode;

  /**
   * 验证字段
   */
  private TradeWayFeildsDTO tradeWayFeilds;
}
