package com.xinelu.applet.vo.wechatpaymentinfo.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description 微信退款回调通知参数实体类
 * @Author 纪寒
 * @Date 2022-10-25 11:38:39
 * @Version 1.0
 */
@NoArgsConstructor
@Data
public class WeChatRefundNotifyVO implements Serializable {
    private static final long serialVersionUID = -2553550636560311860L;
    @JsonProperty("mchid")
    private String mchid;

    @JsonProperty("transaction_id")
    private String transactionId;

    @JsonProperty("out_trade_no")
    private String outTradeNo;

    @JsonProperty("refund_id")
    private String refundId;

    @JsonProperty("out_refund_no")
    private String outRefundNo;

    @JsonProperty("refund_status")
    private String refundStatus;

    @JsonProperty("success_time")
    private String successTime;

    @JsonProperty("user_received_account")
    private String userReceivedAccount;

    @JsonProperty("amount")
    private AmountDTO amount;

    @NoArgsConstructor
    @Data
    public static class AmountDTO {
        @JsonProperty("total")
        private Integer total;

        @JsonProperty("refund")
        private Integer refund;

        @JsonProperty("payer_total")
        private Integer payerTotal;

        @JsonProperty("payer_refund")
        private Integer payerRefund;
    }
}
