微信内置H5支付

  • 微信内置H5支付已关闭评论
  • 20 次浏览
  • A+
所属分类:Web前端
摘要

点赞 + 收藏 === 学会🤣🤣🤣场景是用户通过微信扫app内的收款码,跳到一个h5页面。然后完成支付。


🧑‍💻 写在开头

点赞 + 收藏 === 学会🤣🤣🤣

场景是用户通过微信扫app内的收款码,跳到一个h5页面。然后完成支付。

代码实现的整体流程:

使用微信扫码,码是app内生成的,码的内容是一个h5页面链接,扫码完成后跳转到自定义的h5支付界面。

扫码进入后,将页面展示所需要的参数进行缓存起来,存到本地。 然后需要微信静默授权。

  1. 微信静默授权的流程: 配置appid、redirect_uri等参数,从项目页面跳转到微信授权页面:https://open.weixin.qq.com/connect/oauth2/authorize 详细参考[ 微信官方文档]open.weixin.qq.com/connect/oau…

参数说明

微信内置H5支付

// 示例 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`; } 

  

  1. 当授权后,会自动跳转到配置回调页面,也就是配置的‘redirect_uri’ 相当携带这code,重新打开了项目
  2. 然后解析url中的code,将code取出,支付的时候将code传给后端。

点击支付的时候,请求接口,使用微信浏览器内置对象WeixinJSBridge调起微信支付,使用方法如下所示,data就是由后端返回的数据。

function onBridgeReady(data) {   WeixinJSBridge.invoke(     "getBrandWCPayRequest",     {       //