收藏
回答

授权手机号收费后,大家有什么防刷的思路么?

我理解的流程是:

第一步:用户在界面中点击授权按钮

随后有三种可能

  1. 微信绑定号码:用户选择该项后,回调收到code,并记一次扣费
  2. 使用其他号码:转变为手动录入
  3. 不允许:关闭界面,扣费

1.3没啥问题,关键是这个2步骤,是在点击授权按钮后才能进行选择,并且小程序代码不感知。


如果小程序业务本身对于openid授权的手机号在远程存储,那只能是在发现当前openid对应的手机号存储过,则将一键授权按钮隐藏,避免二次授权和扣费;

但同时也会导致功能2无法使用,一个openid只能强制使用业务自己存储过的手机号(或者是再额外做一个业务流程让用户切换手机号?)


如果不做openid的判断处理,会导致同一个C端用户,反复点击授权按钮就会不断扣费。

最多只能做到小程序生命周期内的判重,如果用户清理缓存后依然无法防止重复扣费。


明确一个实际场景

如果提前根据openid判断已经授权过手机号,那么是否要使用open-type=getPhoneNumber的按钮呢?;

  • 如果用,可能被重复收费。
  • 如果不用,就没有“使用其他手机号”的机会

本质问题是getPhoneNumber之后的选择权,开发者无法控制和感知,但这个选择中包含了收费或不收费的可能

最后一次编辑于  2023-08-22
回答关注问题邀请回答
收藏

2 个回答

  • Hello world 🌎 🌍
    Hello world 🌎 🌍
    2023-08-21

    小程序有风险用户识别,可以对接一下https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/sec-center/safety-control-capability/getUserRiskRank.html

    然后登陆用用户的openid就行了,手机号算会员的一个属性,第一次注册记录下来就行了,后续不用重复读取。根据openid判断是否已经授权过手机号,授权过就不需要反复记录了,未授权的必要场景读取一次就行

    2023-08-21
    有用
    回复 4
    • 2023-08-22
      如果提前根据openid判断已经授权过手机号,那么是否要使用open-type=getPhoneNumber的按钮呢?;如果用,可能被重复收费,如果不用,就没有“使用其他手机号”的机会
      2023-08-22
      回复
    • Hello world 🌎 🌍
      Hello world 🌎 🌍
      2023-08-24回复
      如果已经授权过了,就不需要使用那个按钮了,手机号你在你自己系统里面可以根据openid获取到了啊,第一次使用的时候,已经落表了,有openid和手机号的映射关系了
      2023-08-24
      回复
    • 2023-08-31
      不用那个按钮了,如果用户需要“使用其他手机号”怎么办?
      2023-08-31
      回复
    • Hello world 🌎 🌍
      Hello world 🌎 🌍
      2023-08-31回复
      在个人信息页面支持手机号修改就可以了吧
      2023-08-31
      回复
  • awa
    awa
    2023-08-21

    点了手机号才收钱。。。

    2023-08-21
    有用
    回复
登录 后发表内容