微信调起jssdk一闪而过

微信支付一闪而过的问题:

​ 1.js支付统一下单接口后端给前端预支付id等数据,需进行封装格式如下:

{
"appId":"wx2421b1c4370ec43b", //公众号名称,由商户传入 
"timeStamp":"1395712654", //时间戳,自1970年以来的秒数 
"nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串 
"package":"prepay_id=u802345jgfjsdfgsdg888", 
"signType":"MD5", //微信签名方式: 
"paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 
}

封装示例代码如下:

private ContextResult<Object> payInfo(String prepay_id) {
Config config = new Config();
String noncstr = UUID.randomUUID().toString();
String timeStamp = String.valueOf(System.currentTimeMillis() / 1000);
Map<String, String> map = new HashMap<>();
map.put("appId", config.getAppID());
map.put("timeStamp", timeStamp);
map.put("nonceStr", noncstr.substring(0, 20));
map.put("package", "prepay_id=" + prepay_id);
map.put("signType", "MD5");
try {
// 生成的微信签名
String paysign = WXPayUtil.generateSignature(map, config.getKey(), WXPayConstants.SignType.MD5);
map.put("paySign", paysign);
return ResultEntity.success(map);
} catch (Exception e) {
e.printStackTrace();
return ResultEntity.fail(e.getMessage());
}
}


​ 2.商户后台配置JS授权目录,配置为前端的域名,生效时间长则十分钟。注意域名规则

​ 3.公众号的JS安全接口配置前端的域名地址和IP白名单

posted @ 2019-05-17 17:27  轻寒  阅读(355)  评论(0编辑  收藏  举报