package com.sptg.pay.api.vendor.wxPay.data.unifiedorder;

import com.sptg.pay.api.vendor.wxPay.data.WxPayBaseResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 统一下单接口返回数据
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
public class UnifiedOrderResponse extends WxPayBaseResponse {

    @Override
    public boolean isBusinessSuccess() {
        return "SUCCESS".equals(this.result_code);
    }

    /**
     * App ID
     */
    private String appid;

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

    /**
     * 设备号
     */
    private String device_info;

    /**
     * 随机字符串
     */
    private String nonce_str;

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

    /**
     * 业务结果：SUCCESS/FAIL
     */
    private String result_code;

    /**
     * 错误代码
     */
    private String err_code;

    /**
     * 错误代码描述
     */
    private String err_code_des;

    // 以下字段在return_code 和result_code都为SUCCESS的时候有返回

    /**
     * 交易类型（JSAPI 公众号支付，NATIVE 扫码支付，APP APP支付）
     */
    private String trade_type;

    /**
     * 预支付交易会话标识（微信生成的预支付回话标识，用于后续接口调用中使用，该值有效期为2小时）
     */
    private String prepay_id;

    /**
     * 二维码链接（trade_type为NATIVE时有返回，用于生成二维码，展示给用户进行扫码支付）
     */
    private String code_url;

}
