微信服务号 微信支付开发_服务号开通微信支付
微信服务号 微信支付开发由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“服务号开通微信支付”。
微信服务号 微信支付开发
1.发起支付,都是通过h5发起的,首先获取prepay_id
发起支付,需要统一下单的prepay_id
SortedMap parameters = new TreeMap();
parameters.put(“appid”, ConfigUtil.APPID);
parameters.put(“mch_id”, ConfigUtil.MCH_ID);
parameters.put(“nonce_str”, PayCommonUtil.CreateNoncestr());
parameters.put(“body”, bodyorder);
parameters.put(“out_trade_no”, outTradeNo);// 用户订单号
parameters.put(“total_fee”, totalfee);// 标价金额(分)
// parameters.put(“spbill_create_ip”,IpAddreUtil.getIpAddr(request));
parameters.put(“spbill_create_ip”, “192.168.1.1”);// 电脑测试
// parameters.put(“spbill_create_ip”,NetworkUtil.getIpAddre(request));
parameters.put(“notify_url”, ConfigUtil.NOTIFY_URL);
parameters.put(“trade_type”, “JSAPI”);
parameters.put(“openid”, openId);
String sign = PayCommonUtil.createSign(“UTF-8”, parameters);
parameters.put(“sign”, sign);
String requestXML = PayCommonUtil.getRequestXml(parameters);
String result = CommonUtil.httpsRequestR2s(ConfigUtil.UNIFIED_ORDER_URL, “POST”, requestXML);
System.out.println(“第一弹数据” + result + “ip地址” + NetworkUtil.getIpAddre(request));
数据为
第一弹数据
2.拿到prepay_id后,就可以发起支付
支付,需要设置测试路径和真实路径,发起支付,将参数转为json,在放到respond里,然后h5页面从request里取
SortedMap params = new TreeMap();
params.put(“appId”, ConfigUtil.APPID);
params.put(“timeStamp”, Long.toString(new Date().getTime()));
params.put(“nonceStr”, PayCommonUtil.CreateNoncestr());
System.out.println(“订单id” + map.get(“prepay_id”));
params.put(“package”, “prepay_id=” + map.get(“prepay_id”));
params.put(“signType”, ConfigUtil.SIGN_TYPE);
String paySign = PayCommonUtil.createSign(“UTF-8”, params);
// params.put(“packageValue”, “prepay_id=”+map.get(“prepay_id”));
// //这里用packageValue是预防package是关键字在js获取值出错
params.put(“paySign”, paySign);// paySign的生成规则和Sign的生成规则一致
String json = JSONObject.fromObject(params).toString();
System.out.println(“第二弹数据” + json);
try {
response.setContentType(“text/html” + “;charset=UTF-8”);
response.setHeader(“Pragma”, “No-cache”);
response.setHeader(“Cache-Control”, “no-cache”);
response.setDateHeader(“Expires”, 0);
response.getWriter().write(json);
response.getWriter().flush();
} catch(IOException e){
e.printStackTrace();
} }
上传,支付的html页面
微信支付
-->
苏牌皮草
库存18件
原价:8888元
现价:5000
我要购买