浏览器调起微信支付后,怎么把浏览器uid和微信wxuid关联起来?

需求说明:

  1. 在浏览器通过uid,accessToken生成订单id,最后唤起微信支付
  2. 在微信中支付完成后,浏览器就可以查看付费内容
  3. 同时,关注公众号微信号,在我的历史记录中也可以看到这个付费内容

问题

浏览器账号和微信wxuid,两个账号是怎么关联在一起的?

我的思考:

浏览器调起微信支付,和微信支付完成回到浏览器,两端都不能提前获取到对方的信息(uid,wxuid),相当于两端不能进行通讯;
要让两端实现通讯,要获取设备唯一标识符,但是h5是获取不到设备唯一标识符号的,
前端可以通过IP+设备信息,生成设备指纹来实现账号绑定;

操作流程

一、浏览器中
生成订单ID时,把uid和设备指纹绑定在一起

二、微信中打开我的记录页面
通过设备指纹找到数据库所有未关联微信公众号的uid,把这个uid合并到此微信账号下(一个微信账号可以合并多个uid信息)

产生的其他问题:

  • 如果用户在未绑定前切换了网络,ip发生了变化,唯一标识符就不准了;
  • 后端改动较大
已解决 悬赏分:70 - 解决时间 2021-11-26 09:26
反对 0举报 0 收藏 0

回答2

最佳
  • @

    订单id 和 uid是绑定的,
    订单id的支付回调 和 微信的openId是绑定的
    所以通过订单id就把uid和openId关联起来 ;
    用户信息关联的操作,不在前端,而在后台;
    当用户支付完成,微信回调openId回来的时候,要存在数据库中;

    clipboard.png

    参考资料:
    微信h5支付文件:https://pay.weixin.qq.com/wik...

    支持 0 反对 0 举报
    2021-11-25 10:57
  • @

    要关注微信后再让用户手动绑定,你看哪个公众号是能自动关联第三方账号的的

    支持 0 反对 0 举报
    2021-11-25 11:26