快捷登录接口

请求参数说明

请求参数是商户在与支付宝进行数据交互时,提供给支付宝的请求数据,以便支付宝根据这些数据进一步处理。

参数

参数名称

类型(长度范围)

参数说明

是否可为空

样例

基本参数

service

接口名称

String

接口名称。

不可空

alipay.auth.authorize

partner

合作者身份ID

String(16)

签约的支付宝账号对应的支付宝唯一用户号。

以2088开头的16位纯数字组成。

不可空

2088101012319596

_input_charset

参数编码字符集

String

商户网站使用的编码格式,如UTF-8、GBK、GB2312等。

不可空

UTF-8

sign_type

签名方式

String

DSA、RSA、MD5三个值可选,必须大写。

不可空

MD5

sign

签名

String

请参见本文档“附录:签名与验签”。

不可空

wbcys3k0gz3507c89ufz1i64zouyui9c

return_url

页面跳转同步通知页面路径

String

支付宝处理完请求后,当前页面自动跳转到商户网站里指定页面的http路径。

不可空

http://api.test.alipay.net/atinterface/receive_return.htm

授权业务参数

target_service

目标服务地址

String

需要授权执行的目标服务地址,本服务中,此参数固定为user.auth.quick.login。

不可空

user.auth.quick.login

exter_invoke_ip

客户端IP

String(15)

用户在创建交易时,该用户当前所使用机器的IP。

如果商户申请后台开通防钓鱼IP地址检查选项,此字段必填,校验用。

可空

10.2.40.81

anti_phishing_key

防钓鱼时间戳

string

通过时间戳查询接口获取的加密支付宝系统时间戳。

如果已申请开通防钓鱼时间戳验证,则此字段必填。

可空

587FE3D2858E6B01E30104656E7805E2

frame

页面类型

String

登录界面类型标识。若传递参数值为mini,则渲染iframe形式的快捷登录框;否则渲染全页面形式的快捷登录页面。

可空

mini

client_ip

客户端IP

String

当frame=mini时,必须传入此参数,用于客户端IP的二次校验,否则无法使用迷你快捷登录。

可空

10.2.40.81

https://mapi.alipay.com/gateway.do?sign=301bf1672544be3fdb7bc9a717f78373&exter_invoke_ip=10.2.40.81&target_service=user.auth.quick.login&sign_type=MD5&service=alipay.auth.authorize&partner=2088101012319596&return_url=http%3A%2F%2Fapi.test.alipay.net%2Fatinterface%2Freceive_return.htm

说明:
本样例仅供参考,支付宝网关为https://mapi.alipay.com/gateway.do

页面跳转参数说明

支付宝对商户的请求数据处理完成后,会将处理的结果数据通过系统程序控制客户端页面自动跳转的方式通知给商户网站。这些处理结果数据就是页面跳转同步通知参数。

参数

参数名称

类型(长度范围)

参数说明

是否可为空

样例

基本参数

is_success

成功标识

String

表示该次处理是否成功。

不可空

T

sign_type

签名方式

String

DSA、RSA、MD5三个值可选,必须大写。

不可空

MD5

sign

签名

String

请参见本文档“附录:签名与验签”。

不可空

b1af584504b8e845ebe40b8e0e733729

业务参数

notify_id

通知校验ID

String

通知校验ID。

可空

RqPnCoPT3K9%2Fvwbh3I7xsk%2BvCEcoKkr4ElTG1wX%2FYXl4%2BqIuUrJcYkwJxvYJXQpHX3tj

user_id

支付宝用户号

String

支付宝账号对应的支付宝唯一用户号。

以2088开头的16位纯数字组成。

可空

2088101010749876

real_name

支付宝用户姓名或淘宝昵称

String

当买家通过etao并且使用淘宝账号登录时,本参数记录的是淘宝昵称。部分快速注册未填写真实姓名的,返回支付宝登录号。

可空

张三

email

用户支付宝登录账号

String

会员登录支付宝使用的登录号,一般为email地址,或者手机号。

可空

test@yahoo.cn

token

授权令牌

String

授权令牌。

可空

201103296887f2954c914d4e81775e8b769ad4eb

target_url

目标商户跳转结果页面

String

本参数是在买家通过etao进来时获取到的,一般为目标商户网站的商品详情页面。

请参见 etao搜索结果跳转页面的处理

可空

http://item.mbaobao.com/pshow-1201012803.html

global_buyer_email

全球购用户在支付宝的邮箱

String

国内支付宝用户在海外商户网站购物时,使用支付宝快捷登录授权,授权成功后,把用户在支付宝的邮箱返回给海外商户。

可空

globalbuy_1399258275105_cqwb@aliyun.com

http://商户自定义地址/alipay/return_url.php?is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xsk%252BvCEcoKkr4ElTG1wX%252FYXl4%252BqIuUrJcYkwJxvYJXQpHX3tj&real_name=%D7%A8%D2%B5%B0%E6NOIV&token=201103296887f2954c914d4e81775e8b769ad4eb&user_id=2088101010749876&sign=c0f6821d5276e2f7a54439d19f349026&sign_type=MD5

注意:

  • 由于etao主动跳转的url,和普通的快捷登录url相比,多一个target_url参数,因此,建议商户在集成快捷登录接口时,在目标跳转页面优先处理target_url,而后再处理正常的业务参数,便于区分两种跳转方式。
  • 本样例仅供参考,实际网关为商户域名。

etao搜索结果跳转页面的处理

商户签约支付宝快捷登录时,如果提供了固定的快捷登录处理页面(一般为快捷登录接口中传递的return_url),则当买家在etao上进行商品搜索时,etao可以引导买家到相应的商品详情页面,这个跳转过程由支付宝完成。etao商品搜索的交互流程图如下:
enter image description here
目前对于etao搜索,支付宝的跳转方式有以下两种:

跳转方式一

  • 商户签约了快捷登录;
  • 商户向支付宝提供了快捷登录的登录后处理页面路径(即参数return_url的值);
  • 买家已经登录淘宝网站或者支付宝网站。

满足以上三个条件的情况下,支付宝会主动调用商户的页面跳转同步通知页面(参数return_url),并且会把本接口的所有页面跳转同步通知参数全部返回给商户。跳转url示例如下:

http://www.126.com/?is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtnO7far28tp8tXfvKVhVHdFp%252FTtgAJMM16LqkfSYXQLbR0Gn&real_name=wang0555s&target_url=http%3A%2F%2Fitem.mbaobao.com%2Fpshow-1201012803.html&token=2011042971db9a3ed2904d4e8d3fc4669a7758fe&user_id=2088102008703762&sign=8d8dc7d5048f7dece74bb341e37d19a3&sign_type=MD5

跳转方式二

  • 商户签约了快捷登录;
  • 商户向支付宝提供了快捷登录的登录后处理页面路径(即参数return_url的值);
  • 买家未登录淘宝网站或者支付宝网站。

满足以上三个条件的情况下,支付宝会主动调用商户的页面跳转同步通知页面(参数return_url),并且只返回快捷登录接口基本返回参数和target_url。示例如下:

http://www.126.com/?is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtnO7fa8zrjhCodocSH%252FjvG6LvT5pgMNnK24j5U9vRQKtSQRH&target_url=http%3A%2F%2Fitem.mbaobao.com%2Fpshow-1201012803.html&sign=f008dc826656a7d8ae66554c30034989&sign_type=MD5

注意:

  • etao快捷登录跳转商户网站时,支付宝会对跳转url进行签名,签名时,会从目标商户网站支持的所有签名方式中进行选择,优先选择RSA;如果商户不支持RSA,则选择DSA,最后再选择MD5签名。商户验证签名时,需要根据返回url中的sign_type参数进行验签处理;
  • 商户向支付宝提供了快捷登录的登录后处理页面路径并不是指调用快捷登录接口时使用return_url,而是指商户与支付宝签约时,商户需要提供一个页面路径地址让支付宝记录与配置,而这个页面路径地址就是快捷登录中页面跳转同步通知页面路径(参数return_url)的地址。

页面跳转同步通知页面特性

1. 用户在登录成功后会看到一个支付宝提示登录的页面,该页面会停留几秒,然后会自动跳转回商户指定的同步通知页面(参数return_url)。

2. 该页面中获得参数的方式,需要使用GET方式获取,如request.QueryString("out_trade_no")、$_GET['out_trade_no']。后续商户可根据获取的信息作处理,譬如,可以把获取到的token放入session中,以便于后续需要使用到token访问支付宝相应服务时,可以便捷地重用。

3. 该方式仅仅在用户登录完成以后进行自动跳转,因此只会进行一次。

4. 该方式不是支付宝主动去调用商户页面,而是支付宝的程序利用页面自动跳转的函数,使用户的当前页面自动跳转。

5. 该方式可在本机而不是只能在服务器上进行调试。

6. 返回URL只有一分钟的有效期,超过一分钟该链接地址会失效,验证则会失败。

7. 设置页面跳转同步通知页面(return_url)的路径时,不要在页面文件的后面再加上自定义参数。例如:

8. 由于支付宝会对页面跳转同步通知页面(return_url)的域名进行合法有效性校验,因此设置页面跳转同步通知页面(return_url)的路径时,不要设置成本机域名,也不能带有特殊字符(如“!”),如:

业务错误码

错误代码(error_code)

含义

ILLEGAL_SIGN

签名不正确

ILLEGAL_DYN_MD5_KEY

动态密钥信息错误

ILLEGAL_ENCRYPT

加密不正确

ILLEGAL_ARGUMENT

参数不正确

ILLEGAL_SERVICE

参数不正确

ILLEGAL_PARTNER

合作伙伴ID不正确

ILLEGAL_EXTERFACE

接口配置不正确

ILLEGAL_PARTNER_EXTERFACE

合作伙伴接口信息不正确

ILLEGAL_SECURITY_PROFILE

未找到匹配的密钥配置

ILLEGAL_AGENT

代理ID不正确

ILLEGAL_SIGN_TYPE

签名类型不正确

ILLEGAL_CHARSET

字符集不合法

ILLEGAL_CLIENT_IP

客户端IP地址无权访问服务

HAS_NO_PRIVILEGE

无权访问

ILLEGAL_DIGEST_TYPE

摘要类型不正确

ILLEGAL_DIGEST

文件摘要不正确

ILLEGAL_FILE_FORMAT

文件格式不正确

ILLEGAL_ENCODING

不支持该编码类型

ILLEGAL_REQUEST_REFERER

防钓鱼检查不支持该请求来源

ILLEGAL_ANTI_PHISHING_KEY

防钓鱼检查非法时间戳参数

ANTI_PHISHING_KEY_TIMEOUT

防钓鱼检查时间戳超时

ILLEGAL_EXTER_INVOKE_IP

防钓鱼检查非法调用IP

ILLEGAL_NUMBER_FORMAT

数字格式不合法

ILLEGAL_INTEGER_FORMAT

Int类型格式不合法

ILLEGAL_MONEY_FORMAT

金额格式不合法

ILLEGAL_DATA_FORMAT

日期格式错误

REGEXP_MATCH_FAIL

正则表达式匹配失败

ILLEGAL_LENGTH

参数值长度不合法

PARAMTER_IS_NULL

参数值为空

onlineServer