微信支付——沙箱秘鑰獲取


在做沙箱測試的時候,微信支付里面的金額固定的,其他金額是無效的。需要按照文檔來輸入。

 

這里需要用到沙箱秘鑰來替換簽名中的key,同樣驗簽的時候也是同樣用沙箱秘鑰獲取簽名,沙箱秘鑰的獲取方法

public static String GetSignKey() throws Exception {
        String nonce_str = WXPayUtil.generateNonceStr();//生成隨機字符
        Map<String, String> param = new HashMap<String, String>();
        param.put("mch_id", "自己的商戶號");//需要真實商戶號
        param.put("nonce_str", nonce_str);//隨機字符
        String sign = WXPayUtil.generateSignature(param,API_KEY,WXPayConstants.SignType.MD5);//通過SDK生成簽名其中API_KEY為商戶對應的真實密鑰
        param.put("sign", sign);
        String xml = WXPayUtil.mapToXml(param);//將map轉換為xml格式
        String url = "https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey";//沙箱密鑰獲取api
        String SignKey = HttpUtil.postData(url, xml);//
        System.out.println("signkey+"+SignKey);
        Map<String, String> param1 = new HashMap<String, String>();
        param1 = WXPayUtil.xmlToMap(SignKey);
        String key = param1.get("sandbox_signkey");
        return key;
    }

這里的WXPayUtil是微信支付sdk中的工具類,在支付之前簽名和之后驗簽都要用到它

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM