服务商可以在 查看 服务 id 和 服务授权链接拼接规则。
授权地址参数说明:
- 标识符:由服务商自定义。商家授权完成以后,这里所填写的标识符 ticket,会通过平台发送的 订购通知 的 isv_ticket 参数传回,请保证每次传入的“标识符”不重复。
- 商家授权完成以后跳转地址:商家完成授权以后页面自动跳转到传入的 callback 地址,填入链接中的地址需要 encode 处理。
点击 复制链接,按照规则拼写链接,确认无误后发送给商家。
商家打开链接,使用支付宝(登录需要开通服务的账号)扫描二维码。
选择小程序,进行授权。若商家没有小程序,可新建一个小程序。
注意:如果商家选择的小程序已构建过版本,小程序模板实施后将会覆盖商家小程序之前的版本,原来的数据将丢失,请确保不会影响商家的业务。
授权完成后,点击 进入服务,小程序跳转到授权链接上提供的重定向地址(callback 地址)。
商家完成订购后,服务商获取商家小程序授权给服务商的第三方应用的 token(app_auth_token),代商家小程序调用 openapi。
获取 app_auth_token 有以下两种方式:
- 解析授权通知
- 解析访问请求
解析授权通知
订购成功后,第三方应用配置的应用网关会收到平台下发的 授权通知,其中包含 app_auth_token。
授权通知示例:
isv_gateway_url?****&data={"headers":{"user-agent":"mozilla/4.0","content-type":"application/x-www-form-urlencoded; charset=utf-8"},"data":{"notify_type":"open_app_auth_notify","charset":"utf-8","biz_content":"{\\"notify_context\\":{\\"trigger\\":\\"appstore\\"},\\"detail\\":{\\"app_auth_token\\":\\"202004bb9d3901a7d39d4350a49fb00000000001\\",\\"user_id\\":\\"20881200000000002\\",\\"re_expires_in\\":32140800,\\"auth_time\\":1587573752655,\\"app_refresh_token\\":\\"202004bb81e2730b7ecc4295a551e00000000001\\",\\"auth_app_id\\":\\"20210000002\\",\\"app_id\\":\\"20190000000\\",\\"expires_in\\":31536000,\\"app_auth_code\\":\\"fa861f9d7032404bae53f54247000001\\"},\\"error\\":{}}","notify_time":"2020-04-23 00:42:32","sign":"****","auth_app_id":"2021000000000002","app_id":"2019000000000000","version":"1.0","sign_type":"rsa2","notify_id":"2020042300222004232009800000000007","status":"execute_auth"},"method":"post","pid":"2088500000000002","url":"https://*****/gateway.do","timeout":16000}
注意:授权通知请使用 rsacheckv1 方法验签,验签操作详情,可查看 使用支付宝公钥验签。
解析访问请求
订购成功后,页面将自动跳转至授权链接中传入的callback地址,在 get 访问请求中包含当次授权的 auth_code,示例如下:
http://example.com/doc/toauthpage.html?auth_code=pf3d30ad211e021d1b70066b94701400
服务商解析出 auth_code,调用 alipay.open.auth.token.app 接口换取 app_auth_token。
说明:
- 应用授权的 auth_code 是唯一的。
- auth_code 使用一次后失效,单个授权的有效期为 24 小时,批量授权的有效期为 10 分钟。app_auth_token 在没有重新授权或取消授权的情况下永久有效。
- 在商家订购模板服务后,系统会向第三方应用配置的应用网关会先发送 订购通知,再发送 授权通知。收到通知后,向系统返回
success
,会停止之后的重复通知,详情可查看 重复收到异步通知。
有关订购流程、订购通知的常见问题,可查看 订购 faq。