微信小程序支付
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:57
基本流程分为以下几步:
- 商户接入文档资料
- 商家注册商户号,得到商户密钥之类的东西
- 后台处理
- 前端调用
逻辑层面
后台处理:
- 调用统一下单接口(API列表里的第一个接口),需要先获取到
Openid
用户标识,具体可参考该文档(微信小程序登录授权)》》https://blog.csdn.net/dwb123456123456/article/details/84251932 - 五个字段参与签名,除了
appid
,其他四个参数是微信小程序前端支付接口wx.requestPayment
需要用的 - 商户配置页面和项目中的回调地址要一样,是支付完成后微信回调到自己后台的地址
前端处理:
代码如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9EFGax2h-1602136800294)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201007135312537.png)]
1.点击?付的时候,先触发 wx.login
?法,拿到微信返回的code值
2.在wx.login
的success回调??请求(https://api.weixin.qq.com/sns/
jscode2session)这个链接通常后台进?请求,前端需要把wx.login
获取到的code
值传给后台,后台通过请求这个链接,返回给前端openId, sessionKey, unionId
3.在第2个请求成功的函数??,拿到openid
之后,在次请求后台的?个账单流?接
?(这个接?后台会写,后台会?这个openid
请求微信?成?条?付流?信息返回
给前端)
4.在请求账单流?接?成功??,通过wx.requestPayment
?法调起?付,
wx.requestPayment
?法需要传的参数在第3步流?账单??微信返回的数据?
整体流程:
1)用户进入微信小程序,通过微信小程序发送下单支付请求,到商户系统。(下订单)
过程拆解:商户系统可以理解为我们自己的商户服务器,存放我们服务器的代码,这个过程就是,用户发送一个请求到我们自己的服务器,
参数就是商品的一些信息。(下面代码的order_id就是获取订单信息)
2)服务器调用微信小程序登录API,服务器后台返回openid,商户服务器生成订单,调用统一下单API,返回预付单信息(prepay_id),将组合再次签名。(服务端操作)
过程拆解:服务器,调用微信登录的API,这时候从服务器拿到用户的openid,拿到openid之后,我们自己的服务器要组合生成一条订单,通过过程1发送过来的商品信息,组合生成一条订单(可以参看统一下单API所需的参数),然后调用统一下单API,这时候微信服务器就返回给了我们prepay_id,我们自己的服务器通过再次签名,可以拿到五个参数和sign
- 返回支付参数(5个参数和sign),微信小程序中发起下单请求到我们商户服务器,
这时候就可把相应的把小程序支付API需要的信息都返回给我们的微信小程序了。(这五个参数是必须的参数)
4)调用wx.requestPayment
,按照规则传入我们需要的信息。
5)后面就是支付成功失败的回调和显示了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2DKRVAO-1602136800296)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201007142330958.png)]
5)后面就是支付成功失败的回调和显示了。
[外链图片转存中…(img-q2DKRVAO-1602136800296)]
这五个参数是必须要记住的。