个人支付宝微信支付回调实现原理

2020-10-20

原理图.png

用户打开浏览器,先从sessionStorage读取订单号,如果本地没有则生成订单号,sessionStorage保存一份,post订单号和支付类型给后端
后端收到请求后,生成待付费用(整数+随机小数),将订单号,支付类型,待付费用,时间戳,写入订单表(id 订单号 待付费用 时间戳),将待支付费用返回前端;
前端收到响应后,渲染二维码,待付费用,订单号,开始倒计时,等待用户支付
用户支付后,收款方手机收到通知,收款方手机安装回调客户端,后台读取通知栏信息,post给后端
后端根据post数据判断出是来自哪个订单的(查询订单表2分钟内,待付金额和已支付金额相同的订单),将订单和支付信息插入支付成功表
前端post订单号轮询后端查询支付成功表确认是否支付成功
后端开一个任务定期清理一次4分钟以前的待支付订单记录

如果不用数据库存储临时订单信息,就需要在内存创建一个数据结构,订单号费用时间戳都存储在其中,对于前端轮询订单是否成功也是在这个数据结构中操作

注意:把APP常驻后台运行,不被后台关闭就可以了,微信,支付宝也要登录而且要开启收款到账语音提示,常驻后台运行。
apk的原理是获取通知栏的收款通知信息,然后把这些信息传到数据库

应用场景-论坛注册码

http://seczh.com/?user/add.html

1603184664347.jpg

前端

支付前
1.jpg

支付后
1603184493723.jpg

手机apk客户端

1603184306790.jpg


标题:个人支付宝微信支付回调实现原理
作者:fish2018
地址:http://seczh.com/articles/2020/10/20/1603182474898.html