微信支付——沙箱秘鑰獲取
阿新 • • 發佈:2018-10-16
tsig return col ces san .com exception 需要 輸入
在做沙箱測試的時候,微信支付裏面的金額固定的,其他金額是無效的。需要按照文檔來輸入。
這裏需要用到沙箱秘鑰來替換簽名中的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"); returnkey; }
這裏的WXPayUtil是微信支付sdk中的工具類,在支付之前簽名和之後驗簽都要用到它
微信支付——沙箱秘鑰獲取