目录

前言

描述

前提

步骤

第一步:设置回调地址

第二步:拼接URL

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

第四步:获取token

额外补充


前言

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

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

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

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

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

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

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

描述

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

前提

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

创建第三方应用

1:创建第三方应用——>网页应用

2:添加能力:选择当面付和第三方应用授权

2:开发信息—>接口加签方式:设置公钥

3:开发信息—>授权回调地址:设置回调地址

4:审核

如何获取授权token

第一步:设置回调地址

开发者中心>应用列表>应用信息>开发设置>授权回调地址(此处是上述所说的创建第三方应用的第三的步骤!)

如下述所说,此处设置的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

支付宝-第三方应用授权相关推荐

  1. .Net Core API网站调用支付宝第三方API(实现授权验证、实名认证、银行卡发行银行校验)

    阅读需要:3分钟 框架版本:.Net Core 3.1 系统及开发环境:Windows10.VS2019 需要引入的Package包命令:Install-Package AlipaySDKNet.St ...

  2. php 支付宝用户信息授权,h5端支付宝第三方用户信息接口demo

    1 准备:去阿里开放平台注册申请成为开发者,然后添加一个web或者移动端应用并选择免费会员信息接口 具体流程参考支付宝开放平台开发文档即可. 2 在index.php中配置好申请的$APPID和$EN ...

  3. 如何实现自有App上的小程序第三方微信授权登陆?

    对于微信小程序来说,有 OpenID 或 UnionID 作为唯一标识,微信授权登陆小程序账号是很容易实现的,但对于其他应用上的小程序来说(如支付宝.百度等),打通该登陆方式是比较麻烦的. 之前在Fi ...

  4. 小程序第三方微信授权登录的实现

    在微信小程序下,小程序登录功能一般会通过 OpenID 或 UnionID 作为唯一标识,与小程序服务的账号体系进行关联打通,完成用户账户体系的构建与设计. 如果在像支付宝小程序.百度小程序第三方平台 ...

  5. 自有App小程序第三方微信授权登录的实现

    在微信小程序下,小程序登录功能一般会通过 OpenID 或 UnionID 作为唯一标识,与小程序服务的账号体系进行关联打通,完成用户账户体系的构建与设计. 如果在像支付宝小程序.百度小程序第三方平台 ...

  6. 如何查询并取消微信、QQ、淘宝、支付宝等APP授权过的应用。

    建议大家把那些授权过杂七杂八的东西取消掉.(主要是下文第三点支付宝的授权) 微信 对于普通第三方的授权,可以不用管,授权有时间限制,过期自动取消(好像是一个月). 1.1 点击"我" ...

  7. php第三方登录接口集合,YurunOAuthLogin是一个PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口...

    YurunOAuthLogin 介绍 YurunOAuthLogin是一个PHP 第三方登录授权 SDK,集成了QQ.微信.微博.Github等常用接口. 无框架依赖,支持所有框架,支持 Swoole ...

  8. SpringBoot项目接入支付宝第三方登录

    今年大四毕业,由于新冠肺炎疫情的原因,开学和毕业答辩的时间都进行了推迟,因此有较多的时间对毕设项目做修改和调整,便在项目中接入微信和支付宝的第三方登录.在此需要说明,微信和支付宝的开发者平台大体一致, ...

  9. 最详细Java实现支付宝第三方登录

    文章目录 概要 流程 代码 小结 概要 分享最新Java实现支付宝登录.(注:支付宝登入用个人账号登录(不非得用企业账号)即可测试,如果用沙箱环境进行测试可能会有Bug,建议用个人用户进行测试❤)如果 ...

  10. android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享

    qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...

最新文章

  1. 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)
  2. Python的逻辑判断和循环 || 打印九九乘法表
  3. JAVAEE框架之Spring JdbcTemplate
  4. Python、Perl 垫底,C语言才是最环保的编程语言
  5. 古风一棵桃花树简笔画_广东有个现实版的“桃花源”,藏于秘境之中,最适合情侣来度假!...
  6. mysql分表和表分区详解
  7. 微店一键复制商品软件使用教程
  8. android 双清菜单,什么是双清?如何双清手机?安卓手机双清教程
  9. 三帧差分 matlab,三帧差分法
  10. 最常用三极管导通电路
  11. ABP-引入SqlSugar-简单版
  12. 微信小程序头像为什么是模糊的?小程序头像模糊怎么办?
  13. 华为OD机试 - 按身高和体重排队(Java) | 机试题算法思路 【2023】
  14. 软件体系结构(三)名词解释
  15. 栈与队列(逆波兰式)
  16. hiho 大礼堂地毯(strstr 查找函数)
  17. 一个vue文件应该有的成分_详解vue为什么要求组件模板只能有一个根元素
  18. 获取当前目录下的所有文件夹
  19. 送给前端的你,推荐几篇前端汇总文章
  20. 杨毅-Solo多机多节点部署

热门文章

  1. 强化学习基础 | (15) A3C
  2. arduino水温度传感器数字显示_温度传感器 LM35
  3. html展开收起样式,前端网页内容实现展开/收起全文的操作(js+css控制高度实现)...
  4. 于NXP芯片第一次无法进入CAN中断的问题
  5. c51步进电机程序汇编语言,51单片机驱动步进电机(汇编语言)
  6. java如何调用百度地图拾取坐标系统
  7. WIN10家庭版+ANSYS/AUTODYN安装学习
  8. 树莓派远程监控+运动目标检测
  9. vue+three.js导入obj模型不显示问题
  10. OpenSIPS脚本中的变量