package com.ruoyi.ai.domain;

import lombok.Data;

/**
 * VM支付回调请求
 *
 * @author system
 * @date 2025-01-XX
 */
@Data
public class VmCallBackReq {

    /**
     * 商户号
     */
    private String mchNo;

    /**
     * 应用ID
     */
    private String appId;

    /**
     * 商户订单号
     */
    private String mchOrderNo;

    /**
     * 支付订单号
     */
    private String payOrderId;

    /**
     * 支付方式
     */
    private String wayCode;

    /**
     * 支付金额，单位分
     */
    private Integer amount;

    /**
     * 货币代码
     */
    private String currency;

    /**
     * 支付接口编码
     */
    private String ifCode;

    /**
     * 商品标题
     */
    private String subject;

    /**
     * 商品描述
     */
    private String body;

    /**
     * 订单状态：0-订单生成, 1-支付中, 2-支付成功, 3-支付失败, 4-已撤销, 5-已退款, 6-订单关闭
     * 文档字段名：state
     */
    private Integer state;

    /**
     * 客户端IP（可选）
     */
    private String clientIp;

    /**
     * 渠道订单号（可选）
     */
    private String channelOrderNo;

    /**
     * 渠道错误码（可选）
     */
    private String errCode;

    /**
     * 渠道错误描述（可选）
     */
    private String errMsg;

    /**
     * 扩展参数，回调时会原样返回
     */
    private String extParam;

    /**
     * 订单创建时间，13位时间戳
     */
    private Long createdAt;

    /**
     * 订单支付成功时间，13位时间戳（可选）
     */
    private Long successTime;

    /**
     * 通知请求时间，13位时间戳。文档字段名：reqTime
     */
    private Long reqTime;

    /**
     * 签名值
     */
    private String sign;

    /**
     * 签名类型（文档回调示例无此字段，不参与签名）
     */
    private String signType;
}
