作者:生活趣图分享 | 来源:互联网 | 2023-09-25 13:56
篇首语:本文由编程笔记#小编为大家整理,主要介绍了uniapp 公众号支付相关的知识,希望对你有一定的参考价值。
如果你是vue 可参考: vue h5 公众号支付
后端的小伙伴需要做一些微信公众号的配置(商户目录 、域名) 以及 微信 商户平台的配置
前端主要的是通过openid 获取 code 来调起后端的接口拿到支付的参数 来对接微信 的sdk的方法
记得要用公众号账号把自己添加到开发者中
首先通过链接 微信 官方平台的链接来获取 code 微信开放文档
https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=$encodeURIComponent(window.location.href)&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
参数说明:
参数 | 是否必须 | 说明 |
---|
appid | 是 | 公众号的唯一标识 |
redirect_uri | 是 | 授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理 |
response_type | 是 | 返回类型,请填写code |
scope | 是 | 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过 openid 拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 ) |
state | 否 | 重定向后会带上 state 参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 |
#wechat_redirect | 是 | 无论直接打开还是做页面302重定向时候,必须带此参数 |
forcePopup | 否 | 强制此次授权需要用户弹窗确认;默认为false;需要注意的是,若用户命中了特殊场景下的静默授权逻辑,则此参数不生效 |
一、获取code及token
App.vue
讲解:
1. 由于最终获取的code是 通过url?路径拼接的形式返回的,所以当路径没有code参数时跳转到微信授权获取code
2.如果参数中已经存在了code 直接拿code换取openid或者token 返回的参数取决于后端之后接口需要的参数
3.存储openid 或者 code
如果要调试 需要拿微信开发者工具 进入公众号网页调试
二、授权及支付
安装微信的sdk 概述 | 微信开放文档
npm install jweixin-module --save
再要支付的页面中引入sdk文件,由于是直接在微信环境下不再做其他校验,如果是浏览器环境下可参考顶部支付文章
var wx = require('jweixin-module')
立即购买
讲解:
1. 在使用微信的一些方法时需要先通过 config 接口注入权限验证配置 参数可以调用接口来获取
2. 通过 ready 接口处理成功验证
3. 发起微信支付请求