通用场景
换取授权访问令牌
公共请求参数
业务请求参数
grant_type|授权方式必选string[1,20]
【描述】授权方式
【枚举值】
用授权码来换取授权令牌: authorization_code
用刷新令牌来换取一个新的授权令牌: refresh_token
【示例值】authorization_code
code|授权码可选string[0,40]
【描述】授权码,用户对应用授权后得到。本参数在 grant_type 为 authorization_code 时必填;为 refresh_token 时不填。
【示例值】4b203fe6c11548bcabd8da5bb087a83b
refresh_token|刷新令牌可选string[0,40]
【描述】刷新令牌,上次换取访问令牌时得到。本参数在 grant_type 为 authorization_code 时不填;为 refresh_token 时必填,且该值来源于此接口的返回值 app_refresh_token(即至少需要通过 grant_type=authorization_code 调用此接口一次才能获取)。
【示例值】201208134b203fe6c11548bcabd8da5bb087a83b
常见请求示例
默认示例
curl 'https://openapi.alipay.com/gateway.do?charset=utf-8&method=alipay.system.oauth.token&format=json&sign=${sign}&app_id=${appid}&version=1.0&sign_type=rsa2×tamp=${now}' \
-f 'refresh_token=201208134b203fe6c11548bcabd8da5bb087a83b' \
-f 'code=4b203fe6c11548bcabd8da5bb087a83b' \
-f 'grant_type=authorization_code'
说明:本示例仅供参考。
公共响应参数
业务响应参数
access_token|访问令牌必选string(40)
【描述】访问令牌。通过该令牌调用需要授权类接口
【示例值】20120823ac6ffaa4d2d84e7384bf983531473993
expires_in|访问令牌有效期必选string(16)
【描述】访问令牌的有效时间,单位是秒。
【示例值】3600
refresh_token|刷新令牌必选string(40)
【描述】刷新令牌。通过该令牌可以刷新access_token
【示例值】20120823ac6ffdsdf2d84e7384bf983531473993
re_expires_in|刷新令牌有效时间必选string(16)
【描述】刷新令牌的有效时间,单位是秒。
【示例值】3600
以下参数 二选一
user_id|支付宝用户的唯一标识。以2088开头的16位数字。string(16)
【描述】支付宝用户的唯一标识。以2088开头的16位数字。
新商户建议使用open_id替代该字段。对于新商户,user_id字段未来计划逐步回收,存量商户可继续使用。如使用open_id,请确认 应用-开发配置-openid配置管理 已启用。无该配置项,可查看openid配置申请。
【示例值】2088102150477652
open_id|支付宝用户唯一标识string(128)
【描述】支付宝用户唯一标识 详情可查看 openid简介
【示例值】074a1cctg1lelxke4xqc0zgndid0nxi95b5lsnpazwyoco5
auth_start|授权开始时间可选date(32)
【描述】授权token开始时间,作为有效期计算的起点
【示例值】2010-11-11 11:11:11
响应示例
正常示例
异常示例
{
"alipay_system_oauth_token_response": {
"user_id": "2088102150477652",
"open_id": "074a1cctg1lelxke4xqc0zgndid0nxi95b5lsnpazwyoco5",
"access_token": "20120823ac6ffaa4d2d84e7384bf983531473993",
"expires_in": "3600",
"refresh_token": "20120823ac6ffdsdf2d84e7384bf983531473993",
"re_expires_in": "3600",
"auth_start": "2010-11-11 11:11:11"
},
"sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee"
}
说明:本示例仅供参考。
公共错误码
业务错误码
错误码 | 错误描述 | 凯发app官方网站的解决方案 |
---|---|---|
isp.unknow-error | 未知错误 | 重试,或联系支付宝客服 |
isv.code-invalid | 授权码(auth_code)
错误、状态不对或过期 | 使用有效的auth_code重新执行令牌换取,或引导用户重新授权 |
isv.grant-type-invalid | grant_type参数不正确 | grant_type必须是authorization_code、refresh_token二者之一
若传入authorization_code为code换取令牌,若传入refresh_token为刷新令牌 |
isv.refresh-token-invalid | 刷新令牌(refresh_token)错误或状态不对 | 使用有效的refresh_token重新执行令牌刷新,或引导用户重新授权 |
isv.refresh-token-time-out | 刷新令牌(refresh_token)过期 | 使用有效的refresh_token重新执行令牌刷新,或引导用户重新授权 |
isv.refreshed-token-invalid | 刷新出来的令牌无效 | 使用返回的刷新令牌再次刷新 |
isv.unmatched-app-id | 调用接口的应用标识(app_id)与令牌授权的应用不相符 | 传入正确的app_id和令牌,若开发者支付宝账号名下有多个app_id,或者开发者管理多个归属于不同支付宝账号的app_id,请注意不要混用不同app_id的code |