• 下载
  • 社区

获取会员基础信息

产品介绍

产品概述


获取会员基础信息是支付宝会员开放服务之一,在获得用户授权后,允许开发者获取头像、昵称、性别、所在地区等基础信息。此能力基于国际标准的 OAuth2.0 授权机制,在用户授权之后,得到用于换取用户信息的令牌。在拿到用户的授权令牌后,通过调用获取会员基础信息接口并获取相关信息。


注意:

为提高小程序开发效率, 本功能包替代原先的“获取会员信息”功能包。

对于 2019 年 5 月 25 日及以后创建的小程序,已不再支持添加“获取会员信息”功能包;已经添加“获取会员信息”功能包的小程序不受影响。


应用流程

说明通过用户信息授权方式获取用户基础信息是只一种快捷的填写方式。开发过程中,需要对用户拒绝的情况做充分的考虑与应对方案,如引导用户手动填写或上传。


  1. 开发者调用 my.getAuthCode 和 alipay.system.oauth.token 接口获取支付宝会员标识(user_id)。
  2. 开发者通过支付宝会员标识(user_id)确认用户是新会员,则通过行动点引导用户授权获取基础信息。
  3. 系统出现弹框界面(如下图)让用户确认。
  4. 用户同意授权后,即可通过接口获取用户的昵称、头像、性别、所在地区(省、市)。


Image 28.png


准入条件


本功能个人和企业支付宝用户均可接入。

小程序开发者需充分尊重用户个人隐私,妥善使用用户信息的,不得随意打扰用户。若发现信息存在超出约定范围使用或者不合理使用等情况,平台有权永久收回该小程序的接口权限。


计费模式


不收费。


接入指引

第一步:创建小程序


要在您的小程序内使用 获取会员基础信息,您需要首先完成开发者入驻创建小程序

第二步:添加功能

小程序创建完成后,开发者在 功能列表 部分可以点击 添加功能 来添加 获取会员基础信息 功能。勾选相应功能后,点击 确定 即可添加功能。


获取会员基础信息.png


第三步:集成并配置 SDK


服务端 SDK 需要商户集成在自己的服务端系统中,用于后续的服务端接口调用。

下载服务端 SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端 SDK,包含 JAVA、PHP、NodeJS、Python 和 .NET 五种语言,封装了签名 & 验签、HTTP 接口请求等基础功能。请先下载对应语言版本的 SDK 并引入您的开发工程。

接口调用配置

在 SDK 调用前需要进行初始化,以 JAVA 代码为例:

1AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);


关键参数说明:

配置参数示例值解释获取方式/示例值
URL支付宝网关(固定) https://openapi.alipay.com/gateway.do 
APPIDAPPID 即创建应用后生成获取见创建应用
APP_PRIVATE_KEY开发者私钥,由开发者自己生成获取见配置密钥
FORMAT参数返回格式,只支持 jsonjson(固定)
CHARSET编码集,支持 GBK/UTF-8开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY支付宝公钥,由支付宝生成获取详见配置密钥
SIGN_TYPE商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2RSA2

接下来,就可以用 alipayClient 来调用具体的 API 了。alipayClient 只需要初始化一次,后续调用不同的 API 都可以使用同一个 alipayClient 对象。


注意:

ISV /开发者可以通过第三方应用授权得到商户授权令牌(app_auth_token)作为请求参数传入,实现代商户发起请求的能力。


第四步:调用接口


开发者根据下表中 API 文档中的参数描述和示例代码完成相关接口的调用。


API 列表


接口名称

接口描述

my.getAuthCode

用户授权获取授权code。注意在此注册流程中,scopes参数请传递“auth_base”。
alipay.system.oauth.token授权凭证换取接口。该接口返回的token是兼容性考虑返回,实际并无任何接口调用权限。

my.getOpenUserInfo

获取会员基础信息。


如果您在调用 API 时出现报错,您可以:

  • 公共错误码 中根据错误码的类型,查找相关错误码及解决方案;
  • 在 小蚂哥 问答页面直接输入您遇到的错误码;
  • 在技术支持 帮助中心 搜索相关错误码,找到解决方案。


常见问题

Q: 为什么在小程序开发者工具(IDE)无法中调用my.getOpenUserInfo?(提示:"appxrpc 暂不支持,请在真机调试")

A: my.getOpenUserInfo API 用于获取支付宝会员基础信息,所以只能在真机上调试无法在 IDE 中调试。


Q: “获取会员信息”、“获取会员基础信息”两个功能包有什么区别?

A: 为提高小程序开发效率,“获取会员信息功能包已升级为“获取会员基础信息 功能包

自 2019 年5月25日 起,已不再支持添加“获取会员信息”功能包。

已添加“获取会员信息”功能包的小程序,在使用“获取会员基础信息”功能之前,仍需添加“获取会员基础信息”功能包。


Q: 调用 alipay.user.info.share 报错“ISV 权限不足”如何处理?

A: alipay.user.info.share 是“获取会员信息”功能包中使用的 API。“获取会员信息”功能包已于2019 年5月25日升级,在此日期之前未签约“获取会员信息”功能包的小程序无法再调用 alipay.user.info.share,其他报错分析请参考 ISV 权限不足报错及解决方法


Q: 调用 my.getOpenUserInfo 报错 "ISV权限不足"如何处理?

A: “获取会员信息”功能包已下架,若之前创建的应用已添加了“获取会员信息”的功能包则能正常调用接口,未添加的则无法再添加此功能。 新创建的应用请使用 my.getOpenUserInfo 接口,其他报错分析请参考 ISV 权限不足报错及解决方法


1. 在小程序开发管理后台的 功能列表 中,点击 添加功能

2. 添加 获取会员基础信息 功能包。

Q: 为什么接入“获取会员基础信息”功能并调用成功后,在获取用户信息时获取不到用户的昵称?

A: 部分支付宝用户没有设置昵称,故获取不到用户昵称。


Q: 小程序可以同时获取手机号、头像、昵称等公开信息吗?

A: 不能在同一个弹框中同时获取会员手机号和头像、昵称。

可分别获取会员手机号,和获取用户头像及昵称。如果用户没有设置支付宝昵称,则昵称字段无返回值。

详情请参见:


Q:“获取会员基础信息” 可以获取支付宝用户的 user_id 吗?

A: 不可以。获取支付宝用户的 user_id 需要在服务器端调用 alipay.system.oauth.token


Q:“获取会员基础信息”可以获取用户身份证、真实姓名等信息吗?

A: 不可以。“获取会员基础信息”只能获取用户头像、昵称、性别、所在地区等信息。


Q: 小程序获取会员基础信息时弹出两次授权窗,如何处理?

A: 正常获取会员基础信息需要弹窗两次进行授权确认:一次是 my.getAuthCode 获取用户授权码的授权框, 另一次是 my.getOpenUserInfo 中获取用户基础信息的授权框。

my.getAuthCode 使用静默授权方法(令 scopes 为 auth_base)即可实现只出现一个授权弹框。示例代码如下:


1my.getAuthCode({
2  scopes: ['auth_base'],
3  success: (res) => {
4    my.alert({
5    content: res.authCode,
6  });
7  },
8});