公众号配置好后:配置说明可以开始开发
开发步骤:
1、生成订单(这里就不展示代码了)
2、获取支付url
//获得微信支付二维码
private String getPayCodeUrl(OrderDto order) {
String spbill_create_ip = "127.0.0.1";
String nonce_str = PayUtil.createNonceStr(); // 随机数据
UnifiedOrderParams unifiedOrderParams = new UnifiedOrderParams();
unifiedOrderParams.setAppid(WechatConfig.APP_ID);// 必须
unifiedOrderParams.setMch_id(WechatConfig.MCH_ID);// 必须
unifiedOrderParams.setOut_trade_no(order.getOrderNo());// 必须
unifiedOrderParams.setBody("众彩世界--顶呱呱");// 必须 微信支付-支付测试
// unifiedOrderParams.setTotal_fee(PayUtil.getFen(new BigDecimal(orderMap.get("transAmt").toString()))); // 必须
int total_fee = 1; // 产品价格1分钱,用于测试
unifiedOrderParams.setTotal_fee(total_fee);
unifiedOrderParams.setNonce_str(nonce_str); // 必须
unifiedOrderParams.setSpbill_create_ip(spbill_create_ip); // 必须
unifiedOrderParams.setTrade_type("NATIVE"); // 必须
unifiedOrderParams.setOpenid(order.getOpenId());
unifiedOrderParams.setNotify_url(WechatConfig.NOTIFY_URL);// 异步通知url
// 统一下单 请求的Xml(正常的xml格式)
String unifiedXmL = MsgUtil.abstractPayToXml(unifiedOrderParams);// 签名并入util
logger.info(order.getOrderNo()+":getPayCodeUrl :"+unifiedXmL);
String unifiedOrderResultXmL = HttpReqUtil.HttpsDefaultExecute(Constant.POST_METHOD,
WechatConfig.UNIFIED_ORDER_URL, null, unifiedXmL, null);
logger.info(order.getOrderNo()+":unifiedOrderResultXmL :"+unifiedOrderResultXmL);
try {
if (SignatureUtil.checkIsSignValidFromWeiXin(unifiedOrderResultXmL, WechatConfig.API_KEY, null)) {
// 统一下单响应
UnifiedOrderResult unifiedOrderResult = XmlUtil.getObjectFromXML(unifiedOrderResultXmL,UnifiedOrderResult.class);
return unifiedOrderResult.getCode_url(); //二维码
} else {
logger.error("OrderController getPayCodeUrl sign error:"+order.getOrderNo());
}
} catch (Exception e) {
logger.error("OrderController getPayCodeUrl error:"+order.getOrderNo(),e);
}
return "error";
}
3、前端页面拿到url生成二维码(百度下吧)