一.说明
公司最近要做微信支付的功能,看了网上的许多的博客,说的不是很具体,这里总结下,以比较具体的方式总结下微信支付开发流程,总的来说分为两个过程,第一个是
生成微信JSSDK的签名,这个过程是用来拉起微信支付的框框的,第二个是预支付ID的生成,这个是用来真正支付的。好了,下面介绍这两个模块的开发过程
二。微信支付
1.生成微信JSSDK的签名
这个过程需要我们后台为前台生成一些参数,好让他可以拉起微信支付的框框,由于这个过程可能会涉及安全问题,最好在后台完成
下面附上代码
/**
* 取得config
* @param request
* @param response
* @return
*/
@RequestMapping("getPayConfig")
public String weiXinPayConfig(HttpServletRequest request,HttpServletResponse response) {
Map<String,String> config = new TreeMap<String, String>();
String url = request.getRequestURL().toString();
String configStr=null;
PrepayIdRequestHandler prepayReqHandler = new PrepayIdRequestHandler(request, response);
String noncestr = WXUtil.getNonceStr();
String timestamp = WXUtil.getTimeStamp();
//获得token
String token = AccessTokenRequestHandler.getAccessToken();
String jsapi_ticket= getJsapi_ticket(token);
config.put("jsapi_ticket",jsapi_ticket);
config.put("timestamp",timestamp);
config.put("noncestr",noncestr);
config.put("url","这里的链接其实不写也可以,反正我是没看到有什么用");
try {
String sign