完成 接入准备 后,服务商可根据本文内容快速在自身系统中集成代用户申请信息功能。
注意:本能力支持代模板申请用户信息,用户测试模板功能等场景。仅需将模板视作普通商家应用授权操作即可。
流程概述
- 服务商需为商家申请用户信息小程序配置主营行业类目,并确认行业类目及使用场景支持申请对应信息,否则无法申请用户信息。详见下文 第一步:配置应用主营行业。
- 服务商调用 (查询应用可申请的接口出参敏感字段列表)接口,查询该商户应用可申请用户信息的
api_name
(敏感信息可申请接口名)、field_name
(对应接口出参敏感信息字段)以及package_code
(敏感信息申请能力 code 值); - 调用 (查询接口字段使用场景)接口,查询对应场景的
scene_code
(场景 code)及scene_desc
(场景 code 描述); - 调用 (申请获取接口用户敏感信息字段)接口,提交应用用户信息申请。
- 获取审核结果:
- 提交申请后商家可调用 (用户信息申请记录查询)接口查询对应 app_id 下用户信息申请记录审核状态。
- 商家还可订阅 (用户信息申请记录审核通知)接口,订阅后支付宝将向商家 应用网关 发送异步通知,反馈商户审核结果通知。详情参见文末 获取审核结果。
服务商需要为商家小程序设置 主营行业类目,且需确认行业类目及使用场景支持申请所需用户信息,否则支付宝将驳回申请。
申请用户信息对小程序类目有所限制,小程序类目必须符合 主营行业对应可申请的会员能力范围,否则会在申请时直接被驳回。
服务商可通过 代商家调用接口说明 设置商户小程序类目:
- 调用 接口,查询小程序的类目是否已设置正确。
- 若小程序没有设置类目或类目不正确,调用 接口,设置/修改小程序类目。
注意:满足上述条件后仅代表准许申请用户信息不承诺申请一定成功,请以实际申请结果为准。
服务商调用 (查询应用可申请的接口出参敏感字段列表)接口,查询该商户应用可申请用户信息的接口(api_name)、对应接口出参敏感信息字段(field_name)以及敏感信息申请能力功能包码(package_code)。
请求示例
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","第三方应用appid","第三方应用私钥","json","gbk","第三方应用公钥","rsa2"); alipayopenappapiqueryrequest request = new alipayopenappapiqueryrequest(); request.putothertextparam("app_auth_token", "201912bxxxxxx");//授权token,代调用必传 alipayopenappapiqueryresponse response = alipayclient.execute(request); if(response.issuccess()){ system.out.println("调用成功"); } else { system.out.println("调用失败"); }
响应示例
{ "alipay_open_app_api_query_response": { "code": "10000", "msg": "success", "apis": [ { "api_name": "app.mini.user.query", "field_name": "name,phone", "package_code": "201322123123" } ] }, "sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee" }
重要响应说明
- apis:应用可申请的接口出参敏感字段列表。
- api_name:敏感信息可申请接口名。
- field_name:敏感信息申请字段。
- package_code:敏感信息申请能力 code 值。
商家可调用 (查询接口字段使用场景)接口,查询对应场景的scene_code(场景code)及scene_desc(场景code描述)。
请求示例
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","第三方应用appid","第三方应用私钥","json","gbk","第三方应用公钥","rsa2"); alipayopenappapiscenequeryrequest request = new alipayopenappapiscenequeryrequest(); request.setbizcontent("{" "\"field_name\":\"mobile\"," "\"api_name\":\"alipay.user.info.share\"" " }"); request.putothertextparam("app_auth_token", "201912bxxxxxx");//授权token,代调用必传 alipayopenappapiscenequeryresponse response = alipayclient.execute(request); if(response.issuccess()){ system.out.println("调用成功"); } else { system.out.println("调用失败"); }
重要入参说明
- field_name :必填,接口出参字段英文名。通过 第二步 调用 接口获取。
- api_name :必填,接口英文名。通过调用 接口获取。
响应示例
{ "alipay_open_app_api_scene_query_response": { "code": "10000", "msg": "success", "auth_field_scene": [ { "scene_code": "123", "scene_desc": "汽车服务" } ] }, "sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee" }
重要响应说明
- auth_field_scene :接口信息字段应用场景。
- scene_code:场景 code 。
- scene_desc:场景 code 描述。
调用 (申请获取接口用户敏感信息字段)接口,为商户的应用申请用户信息。
请求示例
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","第三方应用appid","第三方应用私钥","json","gbk","第三方应用公钥","rsa2"); alipayopenappapifieldapplyrequest request = new alipayopenappapifieldapplyrequest(); fileitem video = new fileitem("c:/downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg"); request.setvideo(video); fileitem picture1 = new fileitem("c:/downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg"); request.setpicture1(picture1); fileitem picture2 = new fileitem("c:/downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg"); request.setpicture2(picture2); fileitem picture3 = new fileitem("c:/downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg"); request.setpicture3(picture3); fileitem picture4 = new fileitem("c:/downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg"); request.setpicture4(picture4); fileitem picture5 = new fileitem("c:/downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg"); request.setpicture5(picture5); authfieldapply authfieldapply = new authfieldapply(); authfieldapply.setapiname("alipay.user.info.share"); authfieldapply.setfieldname("mobile"); authfieldapply.setpackagecode("20201019201538211864"); authfieldapply.setscenecode("6"); authfieldapply.setqpsanswer("预计接口秒级调用量峰值:xx qps"); authfieldapply.setcustomeranswer("有自己的客服团队xx人,能够及时响应并处理舆能力"); authfieldapply.setmemo("获取xx的用途:(1)xxxx(2)xxxx"); // authfieldapply.settinyapptemplateid("小程序模板id"); //当为使用使用模板的小程序申请时,可传入所使用的小程序模板id request.setauthfieldapply(authfieldapply); request.putothertextparam("app_auth_token", "201912bxxxxxx");//授权token,代调用必传 alipayopenappapifieldapplyresponse response = alipayclient.execute(request); if(response.issuccess()){ system.out.println("调用成功"); } else { system.out.println("调用失败"); }
重要入参说明
- video、picture_1~picture_5 为应用使用申请用户信息的示例视频/图片,必须包括如何登录、如何授权输出此字段、如何使用等内容。
- 视频及图片内容至少选择一项上传。
- 单个图片或视频不超过 10m,最多可上传 5 张图片示例。
- api_name:必填,接口英文名。
- field_name:必填,申请字段英文名。
- package_code:必填,功能包 code。
- scene_code:必填,字段使用场景 code。
- qps_answer:必填,接入后一年内预计接口秒级调用量峰值。如:
预计接口秒级调用量峰值:xx qps
。 - customer_answer:必填,是否有自己的客服渠道,能及时响应和处理多少舆情数量。如:
有自己的客服团队xx人,能够及时响应并处理舆能力
。
1.用户信息申请记录查询
可调用 (用户信息申请记录查询)接口查询用户信息申请记录。
请求示例
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","gbk","alipay_public_key","rsa2"); alipayopenappapifieldqueryrequest request = new alipayopenappapifieldqueryrequest(); request.putothertextparam("app_auth_token", "201912bxxxxxx");//授权token,代调用必传 alipayopenappapifieldqueryresponse response = alipayclient.execute(request); if(response.issuccess()){ system.out.println("调用成功"); } else { system.out.println("调用失败"); }
响应示例
{ "alipay_open_app_api_field_query_response": { "code": "10000", "msg": "success", "auth_field_response": { "records": [ { "user_app_id": "2008001193675073", "api_name": "alipay.user.info.share", "field_name": "mobile", "status": "reject", "reason": "使用场景不在信息开放的范围内", "package_code": "20190910140822144236" } ] } }, "sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee" }
重要响应说明:
- auth_field_response:选填,用户信息申请信息记录查询响应合集。
- records:可选,用户信息申请记录表。
- user_app_id:可选,用户应用 app_id。
- api_name:可选,申请接口英文名。
- field_name:可选,申请字段英文名。
- status:可选,审核状态。枚举支持:
- audit:审核中。
- agree:通过。
- reject:驳回。
- invalid:无效(仅服务商代申请场景返回)。
- reason:可选,驳回原因。
- package_code:可选,接口归属的功能包 code。
更多参数及响应详情查看 (用户信息申请记录查询)接口文档。
2.审核消息通知
登录 > 进入应用详情页 并在 开发设置 > 消息服务 > from 平台 页签订阅 (用户信息申请记录审核通知)接口。完成后支付宝将向 应用网关 发送异步通知,反馈商户审核结果通知。
说明:审核时间通常为 2~3 个工作日,审核通过后可获得该信息字段的权限。