一、前言
这次的项目主要是关于微信公众号的一个开发,本人这次分配的模块是后台微信公众号的支付和退款,第一次接触微信公众的项目刚开始一脸懵逼,开发过程中遇到各种坑,所以想自己写一篇详细的关于微信公众号的开发,希望能对小伙伴们有所帮助!
二、公众号与后台对接
1. 登录微信公众号->开发->基本配置,页面如下:
2.上图配置服务器地址为正式环境或者测试环境的验证入口的地址,Token要与后台验证入口处使用的Token一直,否则验证失败就不能与微信公众号好对接。验证成功会,会向微信端发送一个验证后的字符串,可以参考微信公众号接入文档,后台代码具体如下:
@RequestMapping("/gateway")
public String validToken(HttpServletRequest request,ModelMap model){
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
List<String> list = new ArrayList<String>();
list.add(authinfo.getWxToken());
list.add(nonce);
list.add(timestamp);
Collections.sort(list);
StringBuffer sb = new StringBuffer();
for(String s : list){
sb.append(s);
}
String sha1 = DigestUtils.shaHex(sb.toString());
if(sha1.equals(signature)){
model.put("nonce", nonce);
model.put("echostr", echostr);
}
return "check_wx_url";
}