支付宝-第三方应用授权
目录
前言
描述
前提
步骤
第一步:设置回调地址
第二步:拼接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
支付宝-第三方应用授权相关推荐
- .Net Core API网站调用支付宝第三方API(实现授权验证、实名认证、银行卡发行银行校验)
阅读需要:3分钟 框架版本:.Net Core 3.1 系统及开发环境:Windows10.VS2019 需要引入的Package包命令:Install-Package AlipaySDKNet.St ...
- php 支付宝用户信息授权,h5端支付宝第三方用户信息接口demo
1 准备:去阿里开放平台注册申请成为开发者,然后添加一个web或者移动端应用并选择免费会员信息接口 具体流程参考支付宝开放平台开发文档即可. 2 在index.php中配置好申请的$APPID和$EN ...
- 如何实现自有App上的小程序第三方微信授权登陆?
对于微信小程序来说,有 OpenID 或 UnionID 作为唯一标识,微信授权登陆小程序账号是很容易实现的,但对于其他应用上的小程序来说(如支付宝.百度等),打通该登陆方式是比较麻烦的. 之前在Fi ...
- 小程序第三方微信授权登录的实现
在微信小程序下,小程序登录功能一般会通过 OpenID 或 UnionID 作为唯一标识,与小程序服务的账号体系进行关联打通,完成用户账户体系的构建与设计. 如果在像支付宝小程序.百度小程序第三方平台 ...
- 自有App小程序第三方微信授权登录的实现
在微信小程序下,小程序登录功能一般会通过 OpenID 或 UnionID 作为唯一标识,与小程序服务的账号体系进行关联打通,完成用户账户体系的构建与设计. 如果在像支付宝小程序.百度小程序第三方平台 ...
- 如何查询并取消微信、QQ、淘宝、支付宝等APP授权过的应用。
建议大家把那些授权过杂七杂八的东西取消掉.(主要是下文第三点支付宝的授权) 微信 对于普通第三方的授权,可以不用管,授权有时间限制,过期自动取消(好像是一个月). 1.1 点击"我" ...
- php第三方登录接口集合,YurunOAuthLogin是一个PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口...
YurunOAuthLogin 介绍 YurunOAuthLogin是一个PHP 第三方登录授权 SDK,集成了QQ.微信.微博.Github等常用接口. 无框架依赖,支持所有框架,支持 Swoole ...
- SpringBoot项目接入支付宝第三方登录
今年大四毕业,由于新冠肺炎疫情的原因,开学和毕业答辩的时间都进行了推迟,因此有较多的时间对毕设项目做修改和调整,便在项目中接入微信和支付宝的第三方登录.在此需要说明,微信和支付宝的开发者平台大体一致, ...
- 最详细Java实现支付宝第三方登录
文章目录 概要 流程 代码 小结 概要 分享最新Java实现支付宝登录.(注:支付宝登入用个人账号登录(不非得用企业账号)即可测试,如果用沙箱环境进行测试可能会有Bug,建议用个人用户进行测试❤)如果 ...
- android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享
qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...
最新文章
- 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)
- Python的逻辑判断和循环 || 打印九九乘法表
- JAVAEE框架之Spring JdbcTemplate
- Python、Perl 垫底,C语言才是最环保的编程语言
- 古风一棵桃花树简笔画_广东有个现实版的“桃花源”,藏于秘境之中,最适合情侣来度假!...
- mysql分表和表分区详解
- 微店一键复制商品软件使用教程
- android 双清菜单,什么是双清?如何双清手机?安卓手机双清教程
- 三帧差分 matlab,三帧差分法
- 最常用三极管导通电路
- ABP-引入SqlSugar-简单版
- 微信小程序头像为什么是模糊的?小程序头像模糊怎么办?
- 华为OD机试 - 按身高和体重排队(Java) | 机试题算法思路 【2023】
- 软件体系结构(三)名词解释
- 栈与队列(逆波兰式)
- hiho 	大礼堂地毯(strstr 查找函数)
- 一个vue文件应该有的成分_详解vue为什么要求组件模板只能有一个根元素
- 获取当前目录下的所有文件夹
- 送给前端的你,推荐几篇前端汇总文章
- 杨毅-Solo多机多节点部署
热门文章
- 强化学习基础 | (15) A3C
- arduino水温度传感器数字显示_温度传感器 LM35
- html展开收起样式,前端网页内容实现展开/收起全文的操作(js+css控制高度实现)...
- 于NXP芯片第一次无法进入CAN中断的问题
- c51步进电机程序汇编语言,51单片机驱动步进电机(汇编语言)
- java如何调用百度地图拾取坐标系统
- WIN10家庭版+ANSYS/AUTODYN安装学习
- 树莓派远程监控+运动目标检测
- vue+three.js导入obj模型不显示问题
- OpenSIPS脚本中的变量