package com.crm.rely.backend.core.dto.wasabi;

import lombok.Data;

import java.math.BigDecimal;

/**
 * @author gao
 * @date 2025/8/7 14:26
 */
@Data
public class WasabiAuthTransactionDto {

    /**
     * 银行卡id
     */
    private String cardNo;

    /**
     * 交易流水号
     */
    private String tradeNo;

    /**
     * 原交易流水号
     */
    private String originTradeNo;

    /**
     * 币种
     */
    private String currency;

    /**
     * 交易金额
     */
    private BigDecimal amount;

    /**
     * 授权金额
     */
    private BigDecimal authorizedAmount;

    /**
     * 授权币种
     */
    private String authorizedCurrency;

    /**
     * 授权手续费
     */
    private BigDecimal fee;

    /**
     * 授权手续费币种
     */
    private String feeCurrency;

    /**
     * 跨境交易手续费
     */
    private BigDecimal crossBoardFee;

    /**
     * 跨境交易手续费币种
     */
    private String crossBoardFeeCurrency;

    /**
     * 结算金额。收到结算信息后推送
     */
    private BigDecimal settleAmount;

    /**
     * 结算币种。收到结算信息后推送
     */
    private String settleCurrency;

    /**
     * 结算日期。毫秒时间戳
     */
    private Long settleDate;

    /**
     * 授权代码
     */
    private String authorizationCode;

    /**
     * 商户名称
     */
    private String merchantName;

    /**
     * 商户信息
     */
    private WasabiMerchantDataDto merchantData;

    /**
     * 类型。
     * verification: 验证;
     * auth: 预授权;
     * refund: 退款;
     * Void: 撤销;
     * maintain_fee: 卡费（月费、年费、ATM提现费....）
     */
    private String type;

    /**
     * 状态。
     * authorized：已授权；
     * failed：失败；
     * succeed：成功；
     */
    private String status;

    /**
     * 交易描述
     */
    private String description;

    /**
     * 交易时间。毫秒时间戳
     */
    private Long transactionTime;

}
