需求说明:
- 在浏览器通过uid,accessToken生成订单id,最后唤起微信支付
- 在微信中支付完成后,浏览器就可以查看付费内容
- 同时,关注公众号微信号,在我的历史记录中也可以看到这个付费内容
问题
浏览器账号和微信wxuid,两个账号是怎么关联在一起的?
我的思考:
浏览器调起微信支付,和微信支付完成回到浏览器,两端都不能提前获取到对方的信息(uid,wxuid),相当于两端不能进行通讯;
要让两端实现通讯,要获取设备唯一标识符,但是h5是获取不到设备唯一标识符号的,
前端可以通过IP+设备信息,生成设备指纹来实现账号绑定;
操作流程
一、浏览器中:
生成订单ID时,把uid和设备指纹绑定在一起
二、微信中打开我的记录页面
通过设备指纹找到数据库所有未关联微信公众号的uid,把这个uid合并到此微信账号下(一个微信账号可以合并多个uid信息)
产生的其他问题:
- 如果用户在未绑定前切换了网络,ip发生了变化,唯一标识符就不准了;
- 后端改动较大
已解决
悬赏分:70
- 解决时间 2021-11-26 09:26
点赞 0反对 0举报 0
收藏 0
分享 2
回答2
最佳
-
订单id 和 uid是绑定的,
订单id的支付回调 和 微信的openId是绑定的
所以通过订单id就把uid和openId关联起来 ;
用户信息关联的操作,不在前端,而在后台;
当用户支付完成,微信回调openId回来的时候,要存在数据库中;参考资料:
微信h5支付文件:https://pay.weixin.qq.com/wik...支持 0 反对 0 举报2021-11-25 10:57