前言:想要了解服务商如何代商户调用获取用户信息,必须先了解第三方授权以及用户信息授权的逻辑以及调用方式。
一、文档地址
第三方用户信息授权:[url]https://docs.open.alipay.com/20160728150111277227/intro[/url]
用户信息授权:[url]https://docs.open.alipay.com/289/105656[/url]
获取会员信息:[url]https://docs.open.alipay.com/284[/url]
二、开发前准备工作
调用步骤:[url]https://openclub.alipay.com/read.php?tid=12194&fid=69[/url]
注意事项:1、支持沙箱测试;2、不需签约,但需添加功能;3、支持第三方调用。
检查调用appid的应用功能列表中是否“获取会员信息”。
三、接口调用逻辑
(一)第三方应用授权
1、拼接第三方授权链接
拼接规则:[url]https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id=APPID&redirect_uri=ENCODED_URL[/url]
注意:
(1)appid为服务商应用的appid;
(2)redirect_uri 需进行URLencode转义;
(3)redirect_uri :在服务商应用中进行查看,授权回调地址是自己配置自己所想要访问的地址。
2、获取app_auth_code
商户访问第三方授权链接返回获取app_auth_code。
3、获取app_auth_token
服务商使用设置的appid调用alipay.open.auth.token.app(换取应用授权令牌)获取app_auth_token(商户授权令牌)、auth_app_id(授权商户的AppId)等。
(二)用户信息授权
1、拼接用户信息授权链接
拼接规则:[url]https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL[/url]
注意:
(1)appid为商户的appid,在服务商代商户获取的用户信息的过程中,该appid设置为第三方应用授权换取应用授权令牌接口返回的auth_app_id(授权商户的AppId)参数值;
(2)获取会员信息,scope必传auth_user(获取用户信息、网站支付宝登录);
(3)redirect_uri :该授权回调地址是第三方应用授权换取应用授权令牌接口返回的auth_app_id(授权商户的AppId)对应应用设置的授权回调地址,即在授权商户应用中查看,而不是服务商应用中查看;
2、获取auth_code
用户访问(appid设置是授权商户appid的)用户信息授权链接返回获取auth_code。
3、获取access_token
服务商调用alipay.system.oauth.token(换取授权访问令牌)进行获取access_token。
注意:
(1)接口中设置的appid为服务商的appid,而不是授权商户的appid;
(2)接口中必须设置第三方应用授权换取应用授权令牌接口返回的app_auth_token(商户授权令牌);
(三)获取会员信息
服务商调用alipay.user.info.share(支付宝会员授权信息查询接口)代商户获取用户信息use_id、昵称、头像等。
注意:
(1)接口中设置的appid为服务商的appid,而不是授权商户的appid;
(2)接口中必须设置第三方应用授权换取应用授权令牌接口返回的app_auth_token(商户授权令牌);
(3)接口中设置用户信息授权换取授权访问令牌接口返回的access_token。
四、沙箱环境模拟测试参考
沙箱环境模拟调用逻辑示例代码:[url]https://openclub.alipay.com/read.php?tid=12868&fid=68[/url]
具体各开发语言示例代码和参数说明详见:[url]https://openclub.alipay.com/read.php?tid=14599&fid=68&page=1#anchor2[/url]
如果还是报错,请按如下方式进行提问:
正确提问方式:使用环境(沙箱还是正式环境)+接口名称(中文+英文)+ 请求参数 + 报错信息详情