栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

微信公众号支付完整流程案例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微信公众号支付完整流程案例

简介

微信公众号支付,顾名思义就是必须在微信中实现支付,并且需要公众号配合。

教程

由于我们使用的是第三方封装好的接口,这里省去了我们自己配置公众号。为什么用第三方?因为个人没有申请权限。

交互细节:

以下是支付场景的交互细节,请认真阅读,设计商户页面的逻辑:

  • 用户打开商户网页选购商品,发起支付,在网页通过Javascript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程。

  • 用户成功支付点击完成按钮后,商户的前端会收到Javascript的返回值。商户可直接跳转到支付成功的静态页面进行展示。

  • 商户后台收到来自微信开放平台的支付成功回调通知,标志该笔订单支付成功。

前端引入:


后台逻辑,基本上就这三步:

  • 获取授权链接

  • 根据 code 获取 openId

  • 根据 openId 获取支付参数

@GetMapping(value="getOauthUrl")
public void getOauthUrl(HttpServletResponse response) throws IOException {
    String url="https://xxx.xxxx.vip/pay/weiXin.html?a=1";
    String oauthUrl = WxPay.getWxOauthUrl(null, url);
    response.sendRedirect(oauthUrl);
}


@PostMapping(value="getWxOauthInfo")
public Result getWxOauthInfo(String code) {
    WxOauthInfo wxOauthInfo = WxPay.getWxOauthInfo(code);
    return Result.ok(wxOauthInfo);
}


@PostMapping(value="jsApiPay")
public Result jsApiPay(Product product) {
    return wxPayService.jsApiPay(product);
}

前台逻辑: