package com.ghy.payment.domain;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

/**
 * 支付确认对象
 * https://docs.adapay.tech/api/trade.html#payment-confirm-object
 */
@Data
public class PaymentConfirm {

    @JSONField(name = "id")
    private String id;

    private String paymentId;

    private Long deptId;

    @JSONField(name = "order_no")
    private String orderNo;

    /**
     * 创建时的时间戳(Adapay)
     */
    @JSONField(name = "created_time")
    private String createdTime;

    /**
     * 确认金额
     */
    @JSONField(name = "confirm_amt")
    private String confirmAmt;

    /**
     * 原支付对象已确认金额
     */
    @JSONField(name = "confirmed_amt")
    private String confirmedAmt;

    /**
     * 原支付对象已撤销金额，包括已撤销完成金额和撤销处理中的金额
     */
    @JSONField(name = "reserved_amt")
    private String reservedAmt;

    /**
     * 当前支付确认对象已退款金额，包括已退款完成金额和退款处理中的金额
     */
    @JSONField(name = "refunded_amt")
    private String refundedAmt;

    /**
     * 支付确认手续费金额
     */
    @JSONField(name = "fee_amt")
    private String feeAmt;

    /**
     * 手续费收取模式：O-商户手续费账户扣取手续费，I-交易金额中扣取手续费；值为空时，默认值为I；若为O时，分账对象列表中不支持传入手续费承担方
     */
    @JSONField(name = "fee_mode")
    private String feeMode;

    @JSONField(name = "description")
    private String description;

    /**
     * 是否prod模式，true是prod模式，false是mock模式
     */
    @JSONField(name = "prod_mode")
    private String prodMode;

    @JSONField(name = "app_id")
    private String appId;

    /**
     * pending 交易处理中
     * succeeded 交易成功
     * failed 交易失败
     */
    @JSONField(name = "status")
    private String status;

//    @JSONField(name = "div_members")
//    List<DivMember> divMembers;
}
