微信登陆、支付接口对接整理
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 查询微信支付订单
