my.getphonenumber 是获取支付宝用户绑定的手机号的 api。因为需要用户主动触发才能发起获取手机号,所以该功能不由 api 直接调用,需用 button 组件 的点击来触发。
有关获取会员手机号更多信息,请查看 my.getphonenumber。
使用限制
- 插件绑定相关产品(获取会员手机号 和 应用 aes 密钥管理)。
- 已代商家配置 aes 密钥,可查看 、。
- 版本要求:支付宝客户端 10.1.75 及以上,基础库 1.22.0 及以上,否则请进行 兼容处理。
示例代码
唤起授权框,推荐兼容方案。
\n 授权手机号\n"}" id="b523b2f9">
<button a:if="{{caniuseauthbutton}}" open-type="getauthorize" ongetauthorize="ongetauthorize" onerror="onautherror" scope='phonenumber'> 授权手机号 </button>
button 属性说明
用户点击同意后,即可通过 my.getphonenumber 获取用户绑定的手机号。
{\n let encrypteddata = res.response;\n my.request({\n url: '开发者的后端服务端',\n data: encrypteddata,\n });\n },\n fail: (res) => {\n console.log(res);\n console.log('getphonenumber_fail');\n },\n});"}" id="d5ce62ef">
my.getphonenumber({ protocols:{ isvappid: '插件appid' }, success: (res) => { let encrypteddata = res.response; my.request({ url: '开发者的后端服务端', data: encrypteddata, }); }, fail: (res) => { console.log(res); console.log('getphonenumber_fail'); }, });
返回结果说明
res.response 为完整的报文数据,前端需要将该报文发送到开发者服务端做验签和解密处理(可查看 接口内容加密方式),服务端解密后的明文示例代码:
正常响应
{ "code": "10000", "msg": "success", "mobile": "1597671905" }
异常响应
{ "code": "40003", "msg": "insufficient conditions", "subcode": "isv.invalid-auth-relations", "submsg": "无效的授权关系"} { "code": "20000", "msg": "service currently unavailable", "subcode": "aop.unknow-error", "submsg": "系统繁忙"} { "code": "40001", "msg": "missing required arguments", "subcode": "isv.missing-default-signature-type", "submsg": "应用未设置默认签名类型"} // 凯发app官方网站的解决方案:重新保存下开发者的密钥,或者设置下小程序的应用网关地址{ "code": "40002", "msg": "invalid arguments", "subcode": "isv.invalid-encrypt", "submsg": "加密异常"} // 凯发app官方网站的解决方案:按文