ObjectUs
ObjectUs
  • 发布:2019-07-12 11:38
  • 更新:2020-08-13 11:55
  • 阅读:2732

小程序支付流程JSAPI

分类:uni-app

整个支付流程, 前端发起请求后端处理 用了整整两天,
各种坑,各种看文档难以理解,
头大
分享下步骤流程心得吧,
第一次接触可能会和我一样有踩坑的,
第一步
uniapp发起支付请求,其实这里第一步只是传一个金额和openid或者用户ID给后端
后端收到请求后 带着金额以及用户的openid 向腾讯【统一下单接口】发起第一次请求,
请求成功后腾讯会返给你一个临时订单号也就是prepay_id
当拿到prepay_id以后第一步就已经完成了,
第二步
给uni.requestPayment中的数据进行二次签名验证 !!! 这个梗卡了我两天,无力吐槽,
进行二次签名和第一次唯一不同的就是第二次多了个prepay_id,
此时前端的支付程序已经掉起,如果第二次签名验证没有问题的话就会弹出来支付的界面了.
下面上图
1.带着金额和用户信息发起请求(前提要先判断登录没登录,要获取openid)

2.后端处理(PHP)发起统一下单请求获取prepay_id

3.拿到统一下单接口后进行二次签名验证(我选择的是在后端处理后返给前端)

4.前端拿到二次签名后的数据调起支付界面

5.输入支付密码支付完成!

具体就这么多吧
流程,前端带金额和用户信息发起请求>后端确认>拿金额和openid向腾讯发起请求>得到临时单号prepay_id>进行二次签名验证>返给前端>前端调起支付>输入密码支付>完成
代码部分
我的QQ5249812有问题可以互相探讨
腾讯微信支付接口签名校验工具:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1

0 关注 分享

要回复文章请先登录注册

HelloWord1955

HelloWord1955

https://gitee.com/yahli/codes/rj9op7qsuf41kgxbawv6z31 这个网址打不开,没有发现作者的项目
2020-08-13 11:55
HelloWord1955

HelloWord1955

回复 ObjectUs :
页面不存在啊,这个网址打不开
2020-08-13 11:55
z***@126.com

z***@126.com

我拿到了二次签名验证后的数据,但是还是报:调用支付JSAPI缺少参数:total_fee,另外那个orderInfo,我看你这没传,也能成功?
2020-07-09 16:46
jtshushu

jtshushu

回复 ObjectUs :
谢谢 楼主可以在分享一下源码吗
2020-07-06 16:53
f***@163.com

f***@163.com

很好,很直观,和app支付类似,自己写的虽然能用但是很简陋,有很多需要验证的信息没验证,提了个醒,我就喜欢你这样的作者。
2019-11-12 16:20
ObjectUs

ObjectUs (作者)

代码下载地址:码云
https://gitee.com/yahli/codes/rj9op7qsuf41kgxbawv6z31
2019-07-12 11:48