该能力旨在帮助开发者向用户发起手机号申请,并且必须经过用户同意后,开发者才可获得由平台验证后的手机号,进而为用户提供相应服务。
从基础库 2.21.2 开始,对该能力进行了安全升级,以下是新版本组件使用指南。(旧版本组件目前可以继续使用,但建议开发者使用新版本组件,以增强小程序安全性)另外,新版本组件不再需要提前调用wx.login
进行登录。
该能力与手机号实时验证组件的区别为:
- 手机号快速验证组件,平台会对号码进行验证,但不保证是实时验证;
- 手机号实时验证组件,在每次请求时,平台均会对用户选择的手机号进行实时验证。
请注意:
- 目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体);
- 该能力使用时,用户可选择绑定号码,或自主添加号码。平台会基于中国三大运营商提供的短信等底层能力对号码进行验证,但不保证是实时验证;
- 请开发者根据业务场景需要自行判断并选择是否使用,必要时可考虑增加其他安全验证手段。
- 开发者需合理使用,若被发现或用户举报开发者不合理地要求用户提供手机号等个人信息,中断了正常的使用流程,影响了用户的使用体验,微信有权依据《微信小程序平台运营管理规范》对该小程序进行处理。常见违规事例和具体解析;
收费说明
自2023年8月26日起,手机号快速验证组件将需要付费使用。标准单价为:每次组件调用成功,收费0.03元。更多套餐价格请见微信公众平台-付费管理。 购买操作指引。
请注意:
- 体验额度:每个小程序帐号将有1000次体验额度,用于开发、调试和体验。该1000次的体验额度为正式版、体验版和开发版小程序共用,超额后,体验版和开发版小程序调用同正式版小程序一样,均收费;
- 免费规则:帐号微信认证类型为政府、非营利组织的小程序使用此能力不收费;帐号微信认证类型为事业单位,且类目为政务民生的小程序,亦不收费(微信认证指引)。
使用方法
需要将 button 组件 open-type
的值设置为 getPhoneNumber
,当用户点击并同意之后,可以通过 bindgetphonenumber
事件回调获取到动态令牌code
,然后把code
传到开发者后台,并在开发者后台调用微信后台提供的 phonenumber.getPhoneNumber 接口,消费code
来换取用户手机号。每个code
有效期为5分钟,且只能消费一次。
注:getPhoneNumber
返回的 code
与 wx.login
返回的 code
作用是不一样的,不能混用。
代码示例
Page({
getPhoneNumber (e) {
console.log(e.detail.code)
}
})
返回参数说明
参数 | 类型 | 说明 | 最低版本 |
---|---|---|---|
code | String | 动态令牌。可通过动态令牌换取用户手机号。使用方法详情 phonenumber.getPhoneNumber 接口 |
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}