通用场景
换取应用授权令牌。在应用授权的场景下,商户把名下应用授权给isv后,支付宝会给isv颁发应用授权码app_auth_code,isv可通过获取到的app_auth_code换取app_auth_token。app_auth_code作为换取app_auth_token的票据,每次用户授权带上的app_auth_code将不一样,app_auth_code只能使用一次,一天(从当前时间算起的24小时)未被使用自动过期。
刷新应用授权令牌,isv可通过获取到的refresh_token刷新app_auth_token,刷新后老的refresh_token会在一段时间后失效(失效时间为接口返回的re_expires_in)。
刷新应用授权令牌,isv可通过获取到的refresh_token刷新app_auth_token,刷新后老的refresh_token会在一段时间后失效(失效时间为接口返回的re_expires_in)。
公共请求参数
业务请求参数
grant_type必选string(18)
【描述】授权方式。支持:
authorization_code:使用应用授权码换取应用授权令牌app_auth_token。
refresh_token:使用app_refresh_token刷新获取新授权令牌。
【枚举值】
使用应用授权码换取应用授权令牌: authorization_code
使用app_refresh_token刷新获取新授权令牌: refresh_token
【示例值】authorization_code
code可选string(40)
【描述】应用授权码,传入应用授权后得到的 app_auth_code。
说明:
grant_type 为 authorization_code 时,本参数必填;
grant_type 为 refresh_token 时不填。
【示例值】1cc19911172e4f8aaa509c8fb5d12f56
refresh_token可选string(40)
【描述】刷新令牌,上次换取访问令牌时得到。本参数在 grant_type 为 authorization_code 时不填;为 refresh_token 时必填,且该值来源于此接口的返回值 app_refresh_token(即至少需要通过 grant_type=authorization_code 调用此接口一次才能获取)。
【示例值】201509bbdcba1e3347de4e75ba3fed2c9abebe36
常见请求示例
默认示例
curl 'https://openapi.alipay.com/gateway.do?charset=utf-8&method=alipay.open.auth.token.app&format=json&sign=${sign}&app_id=${appid}&version=1.0&sign_type=rsa2×tamp=${now}' \
-f 'app_auth_token=${app_auth_token}' \
-f 'biz_content={
"grant_type":"authorization_code",
"code":"1cc19911172e4f8aaa509c8fb5d12f56",
"refresh_token":"201509bbdcba1e3347de4e75ba3fed2c9abebe36"
}'
说明:本示例仅供参考。
公共响应参数
业务响应参数
user_id必选string(16)
【描述】授权商户的user_id
【示例值】2088102150527498
auth_app_id必选string(20)
【描述】授权商户的appid
【示例值】2013121100055554
app_auth_token必选string(40)
【描述】应用授权令牌
【示例值】201509bbeff9351ad1874306903e96b91d248a36
app_refresh_token必选string(40)
【描述】刷新令牌
【示例值】201509bbdcba1e3347de4e75ba3fed2c9abebe36
expires_in必选string(16)
【描述】该字段已作废,应用令牌长期有效,接入方不需要消费该字段
【示例值】123456
re_expires_in必选string(16)
【描述】刷新令牌的有效时间(从接口调用时间作为起始时间),单位到秒
【示例值】123456
响应示例
正常示例
异常示例
{
"alipay_open_auth_token_app_response": {
"code": "10000",
"msg": "success",
"user_id": "2088102150527498",
"auth_app_id": "2013121100055554",
"app_auth_token": "201509bbeff9351ad1874306903e96b91d248a36",
"app_refresh_token": "201509bbdcba1e3347de4e75ba3fed2c9abebe36",
"expires_in": "123456",
"re_expires_in": "123456"
},
"sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee"
}
说明:本示例仅供参考。
公共错误码
业务错误码
错误码 | 错误描述 | 凯发app官方网站的解决方案 |
---|---|---|
app_id_not_consistent | 授权令牌授予的应用appid与当前应用appid不一致 | 确认授权令牌和应用标识是否正确 |
app_not_isv | 当前请求app_id非第三方应用,请求失败 | 当前请求应用非第三方应用,请更改appid后重试 |
auth_code_not_exist | auth_code不存在 | 更换存在的授权code |
auth_code_not_valid | 无效的auth_code | 更换有效的授权码 |
auth_token_not_found | 授权令牌不存在 | 一般不会出现该异常,如出现需要更换有效的授权码 |
grant_type_invalid | grant_type必须是authorization_code或者refresh_token | grant_type必须是authorization_code或者refresh_token |
refresh_token_not_exist | 刷新令牌不存在 | 更换存在的刷新令牌 |
refresh_token_not_valid | 无效的刷新令牌 | 更换有效的刷新令牌 |
refresh_token_time_out | 刷新令牌过期 | 更换有效的刷新令牌 |