目录

前言

描述

前提

步骤

第一步:设置回调地址

第二步:拼接URL

第三步:根据设置的回调地址获取app_auth_code

第四步:获取token

额外补充


前言

从14年年末开始接触微信支付,15年接触支付宝支付。到现在还是在做支付这块,但是关于这方面的我总是没有整理过太多,只是在云笔记上面有特殊需要注意的点,现在陆陆续续会把这些整理出来,方便以后查找。

大家可能疑问,微信就没有应用授权流程,支付宝为什么有应用授权这块呢?

其实微信使用的是服务商—商户的模式,不需要授权,只需要添加子商户或者签约特约商户就可以了。

而支付宝使用的是ISV模式,通过第三方应用授权帮助商户支付宝账号进行操作。

【微信支付需要填写子商户号进行支付,支付宝支付需要第三方授权的token进行支付。】

以上的说法是针对于微信服务商和支付宝ISV账号,如果是商户自行开发则不需要上述所说。

以下是支付宝的第三方应用授权的内容

 

描述

通过第三方应用授权,ISV/开发者可以在取得商户授权后,ISV/开发者可以帮助商户完成相应的业务逻辑(如代替商户发起当面付的收单请求等)。

 

支付宝-第三方应用授权

 

 


 

前提

如果需要支付功能,ISV得签约当面付功能

步骤

第一步:设置回调地址

开发者中心>应用列表>应用信息>开发设置>授权回调地址

如下述所说,此处设置的http路径可能在两处需要用到

第一:获取第三方授权token

第二:获取userID

所以此处的逻辑大家可以想想如何实现。

第二步:拼接URL

https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id={0}&redirect_uri={1}

1)app_id填写ISV的APPID

2)redirect_uri 填写回调地址即第一步的配置回调信息(可以添加参数如id=1等信息作为自己标识)

 

第三步:根据设置的回调地址获取app_auth_code

 

支付宝在回调页面请求中会带上当次授权的授权码 app_auth_code 和开发者的 app_id

如:

https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id=123456&redirect_uri=http://baidu.com/AliPay/GetApp_auth_code?ID=1

 

添加之后

https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id=123456&redirect_uri=http://baidu.com/AliPay/GetApp_auth_code?ID=1&app_auth_code=123

 

 

第四步:获取token

根据app_auth_code换取app_auth_token

 

调用接口alipay.open.auth.token.app获取令牌

 

获取令牌最简单的方法是使用支付宝的SDK,最好是有源码的,这样添加新功能比较好扩展。

 

由于支付宝文档的网址总是变来变去,建议可以直接搜【第三方应用授权】类似的关键字,本文也会进行对应的网址更改。

 

第三方授权网址:https://opendocs.alipay.com/open/20160728150111277227/intro

 

获取第三方应用授权(alipay.open.auth.token.app):https://opendocs.alipay.com/apis/api_9/alipay.open.auth.token.app

 

额外补充

 

回调地址除了用于第三方授权之外,还用于获取用户唯一标识。

我们在统一下单唤起支付宝支付的时候需要用到userID进行支付等功能,但是获取userID也需要通过授权回调地址进行获取。(ps:此处获取userID单纯的只是获取支付宝用户标识,不涉及到上述[第三方应用授权]的任何信息。虽然第三方应用授权也能得到userID,但主要用于授权,大家不要搞混了)

 

so授权回调地址的作用

第一:获取第三方授权的令牌等信息

第二:获取用户的userid等信息

 

获取H5/生活号的userID(alipay.system.oauth.token):https://opendocs.alipay.com/open/284/h5

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2021-06-06
  • 2021-11-23
  • 2022-12-23
  • 2021-07-01
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
猜你喜欢
  • 2021-12-14
  • 2021-04-07
  • 2021-12-26
  • 2022-12-23
  • 2021-09-22
  • 2022-12-23
  • 2021-08-21
相关资源
相似解决方案