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

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

import java.util.HashMap;
import java.util.Map;

/**
 * 客户端（APP、公众号）调起微信支付的凭证。统一下单后，根据下单结果构造而成。
 */
@Data
public class UnifiedOrderResultCertificate {

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

    /**
     * 伙伴ID
     */
    private String partnerid;

    /**
     * 预支付交易会话标识
     */
    private String prepayid;

    /**
     * Sign=WXPay
     */
    @JsonProperty("package")
    private String packageInfo;// package 是关键字！只能用packageInfo代替

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

    /**
     * 时间戳：秒
     */
    private String timestamp;

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

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

    public Map<String, String> buildMapToSign() {
        Map<String, String> map = new HashMap<>();
        map.put("appid", appid);
        map.put("partnerid", partnerid);
        map.put("prepayid", prepayid);
        map.put("package", packageInfo);
        map.put("noncestr", noncestr);
        map.put("timestamp", timestamp);
        return map;
    }

}
