1.微信相关
目录
各种流程图
0.2微信登录流程
登录 -> 生成code 传递appid appsecret code - > 微信端返回 session_key和openid(唯一标识)
流程图:
步骤分析:
-
小程序端,调用wx.login()获取code,就是授权码。
-
小程序端,调用wx.request()发送请求并携带code,请求开发者服务器(自己编写的后端服务)。
-
开发者服务端,通过HttpClient向微信接口服务发送请求,并携带appId+appsecret+code三个参数。
-
开发者服务端,接收微信接口服务返回的数据,session_key+opendId等。opendId是微信用户的唯一标识。
-
开发者服务端,自定义登录态,生成令牌(token)和openid等数据返回给小程序端,方便后绪请求身份校验。
-
小程序端,收到自定义登录态,存储storage。
-
小程序端,后绪通过wx.request()发起业务请求时,携带token。
-
开发者服务端,收到请求后,通过携带的token,解析当前登录用户的id。
-
开发者服务端,身份校验通过后,继续相关的业务逻辑处理,最终返回业务数据。
1.2 小程序支付流程
小程序支付阶段,我们主要研究3个核心点,分别是小程序下单、生成签名信息、小程序发起支付请求。
下单 -> 生成预支付订单 鉴权调起支付 -> 验证支付授权权限 之后就是回调
通过阅读官方提供的小程序支付流程图,我们实现该功能,需要做如下关键事情:
阶段1:支付
1.小程序向后台发送支付请求
2.后台系统生成订单,并且调用微信小程序下单接口,得到一个关键参数:预支付标识
3.根据预支付标识生成签名信息
4.将支付的签名信息返回给小程序
5.小程序根据商家后台返回的参数向微信官方发起小程序支付请求
阶段2:查询支付结果
1.微信异步通知
2.商户后台调用接口主动查询
2.2 微信扫码支付流程
生成订单 -> 预支付交易生成 返回交易链接 -> 交易二维码 扫码 -> 验证链接有效性 -> 给了权限才能付款 之后付款 -> 提交支付权限 -> 验证支付权限, 完成交易授权
总结我们接下来要做的事情
-
调用下单接口,获取code_url
-
根据code_url生成二维码
-
查询订单的支付状态