最近在做微信支付开发用的框架是 srpingMVC mybatis spring
下面是开发流程图
我们只需要开发红色标记的模块就可以了。
具体参数详情可以查看微信开发者文档。
新手第一次写,写的不好。
1.下面是下单接口
@RequestMapping(value = "/down/order.spr")
@ResponseBody
public Object downOrder(HttpServletRequest request, HttpServletResponse response,
@RequestParam("appointment_id") String appointment_id) {
// 生成随机数字符串
String nonceStr = getRandomString();
// 获取商品订单号
String out_trade_no = UUID.randomUUID().toString().replace("-", "");
// 获取终端 IP
String spbill_create_ip = request.getRemoteAddr();
// 获取微信 openid
WeiXinUserInfo userInfo = (WeiXinUserInfo) request.getSession().getAttribute("weixinUser");
// 组装请求数据
Map<String, String> paramsMap = new HashMap<String, String>();
// 获取签名
String sign = "";
try {
paramsMap.put("openid", userInfo.getOpenid());
paramsMap.put("appid", APP_ID);
paramsMap.put("mch_id", MCH_ID);
paramsMap.put("nonce_str", nonceStr);
paramsMap.put("body", body);
paramsMap.put("out_trade_no", out_trade_no);
paramsMap.put("fee_type", FEE_TYPE);
paramsMap.put("total_fee", total_fee);
paramsMap.put("spbill_create_ip", spbill_create_ip);
paramsMap.put("notify_url", NOTIFY_URL);
paramsMap.put("trade_type", TRADE_TYPE);
sign = getPayCustomSign(paramsMap, paykey);
paramsMap.put("sign", sign);
} catch (Exception e) {
log.debug("生成请求签名失败");
}
// map 转 xml 字符串
String p