- A+
所属分类:Web前端
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
场景是用户通过微信扫app内的收款码,跳到一个h5页面。然后完成支付。
代码实现的整体流程:
使用微信扫码,码是app内生成的,码的内容是一个h5页面链接,扫码完成后跳转到自定义的h5支付界面。
扫码进入后,将页面展示所需要的参数进行缓存起来,存到本地。 然后需要微信静默授权。
- 微信静默授权的流程: 配置appid、redirect_uri等参数,从项目页面跳转到微信授权页面:
https://open.weixin.qq.com/connect/oauth2/authorize
详细参考[ 微信官方文档]open.weixin.qq.com/connect/oau…
参数说明
// 示例 let ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { // 回调地址:域名加页面路径 let hdurl = encodeURIComponent('https://.../#/page_wallet'); let appId = '申请项目的appid'; window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${hdurl}&response_type=code&scope=snsapi_base#wechat_redirect`; }
- 当授权后,会自动跳转到配置回调页面,也就是配置的‘redirect_uri’ 相当携带这code,重新打开了项目
- 然后解析url中的code,将code取出,支付的时候将code传给后端。
点击支付的时候,请求接口,使用微信浏览器内置对象WeixinJSBridge
调起微信支付,使用方法如下所示,data就是由后端返回的数据。
function onBridgeReady(data) { WeixinJSBridge.invoke( "getBrandWCPayRequest", { //
- 文章目录
- 繁