整个支付流程, 前端发起请求后端处理 用了整整两天,
各种坑,各种看文档难以理解,
头大
分享下步骤流程心得吧,
第一次接触可能会和我一样有踩坑的,
第一步
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