微信登陆、支付接口对接整理
1、根据code获取对应的openid
2、请求解密
如果需要获取用户手机号等个人信息,需用户同意之后通过AES解密的方式调用获取
AES对象是hutool中的工具对象。
1、统一下单接口
/** * 调用统一下单接口,并组装生成支付所需参数对象. * * @return 返回 {@link com.github.binarywang.wxpay.bean.order}包下的类对象 */ public WxPayOrderResult createOrder(WxPayUnifiedOrderRequest request, String openid){ WxPayOrderResult wxPayOrderResult = new WxPayOrderResult(); wxPayOrderResult.setCjsj(LocalDateTime.now()); try { request.setOpenid(openid); request.setSpbillCreateIp(String.valueOf(InetAddress.getLocalHost().getHostAddress())); request.setTimeStart(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); WxPayMpOrderResult payResult = wxService.createOrder(request); }catch (Exception e){ e.printStackTrace(); } } /** * 关闭订单 * @param request * @return * @throws Exception */ public WxPayOrderCloseResult closeOrder(WxPayOrderCloseRequest request) throws WxPayException { WxPayOrderCloseResult result = this.wxService.closeOrder(request); WxPayOrderQueryRequest wxPayOrderQueryRequest = new WxPayOrderQueryRequest(); wxPayOrderQueryRequest.setOutTradeNo(request.getOutTradeNo()); queryOrder(wxPayOrderQueryRequest); return result; } /** * 查询订单 * @param request * @return * @throws Exception */ public WxPayOrderQueryResult queryOrder(WxPayOrderQueryRequest request) throws WxPayException{ WxPayOrderQueryResult result = this.wxService.queryOrder(request); WxPayOrderResult wxPayOrderResult = wxPayOrderMapper.getByDdbh(request.getOutTradeNo()); return result; }
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
java 查询微信支付订单