微信支付——沙箱秘钥获取

在做沙箱测试的时候,微信支付里面的金额固定的,其他金额是无效的。需要按照文档来输入。

 

这里需要用到沙箱秘钥来替换签名中的key,同样验签的时候也是同样用沙箱秘钥获取签名,沙箱秘钥的获取方法

public static String GetSignKey() throws Exception {
        String nonce_str = WXPayUtil.generateNonceStr();//生成随机字符
        Map param = new HashMap();
        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 param1 = new HashMap();
        param1 = WXPayUtil.xmlToMap(SignKey);
        String key = param1.get("sandbox_signkey");
        return key;
    }

这里的WXPayUtil是微信支付sdk中的工具类,在支付之前签名和之后验签都要用到它

 

转载于:https://www.cnblogs.com/dayu007/p/9799687.html

你可能感兴趣的:(微信支付——沙箱秘钥获取)