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

Posted 大宇007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信支付——沙箱秘钥获取相关的知识,希望对你有一定的参考价值。

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

 

这里需要用到沙箱秘钥来替换签名中的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中的工具类,在支付之前签名和之后验签都要用到它

 

以上是关于微信支付——沙箱秘钥获取的主要内容,如果未能解决你的问题,请参考以下文章

企业支付开发基础 | 微信支付 | 支付安全(证书/秘钥/签名)

支付宝电脑网站支付demo导入idea运行

支付宝H5支付demo

微信H5支付demo

支付宝沙箱支付工具安装使用指南

Idea运行支付宝网站支付demo踩坑解决及其测试注意事项