支付宝的接口向来集成过程都让人觉得比较舒服,只有APP支付相对复杂,但也只是配置上复杂一些,只要清楚原理相信也不是什么难事。下面是以前介绍双钥加密原理的传送门:
支付接口教程特别篇,公钥与私钥,双钥加密和数字签名
在这篇文章的引导下,我们来看一种真实的支付接口加密情景。
支付宝APP支付
为了确定商户和支付宝双方的身份数据的安全,双方都会进行校验,也就是同时存在两套公私钥,支付宝一套,商家一套。画个图就是这样子的:

支付接口教程,详解支付宝接口(二)

这个过程中有两个关键点:

  • 支付宝用商家公钥解密,确认商家身份和发起支付数据的安全
  • 商家用支付宝公钥解密,确认支付宝身份和支付成功数据的安全

由此,在理论上可以推出,我们在配置阶段需要做的工作有以下几点:

  1. 利用工具生成自己(商家)的公钥和私钥
  2. 将生成的公钥告诉支付宝
  3. 下载支付宝提供的公钥

让我开始具体的流程。

接口申请

接口申请的地址为蚂蚁金服开放平台,在此之前需要成为入驻商家(这一步得客户去做)。
然后我们在开放平台创建一个应用

支付接口教程,详解支付宝接口(二)

创建完之后我们查看应用详情,添加应用功能

支付接口教程,详解支付宝接口(二)

在靠下的位置找到APP支付,根据提示一步步完成签约

支付接口教程,详解支付宝接口(二)

注意:签约之后你会获得一个partner_id,也就是收款账户id

接口配置

首先我们得去准备商家的公钥和私钥,这个是需要自己生成的:
我们下载官方提供的生成工具,双击打开:

支付接口教程,详解支付宝接口(二)

秘钥格式和秘钥长度按照上图选择即可,点击生成之后可以看到工具提示秘钥保存的路径。
注意:通常情况下Mac用户是无法打开工具的,需要去设置-》安全与隐私中设置允许打开所有开发者的应用。

先把我们的生成的公钥告诉支付宝,下面这张图是重点:

支付接口教程,详解支付宝接口(二)

注意:这个页面的入口请注意右上角的箭头,
需要把鼠标放到右上角小头像那里,
然后点击弹出框中的账号管理。

点击左侧开放平台秘钥,这里顺手先把APPID记录下来。
之后,点击RSA2(SHA256)后面的查看应用公钥,在这里把刚才生成的商家公钥填进去。
最后,点击查看支付宝公钥,在这里把支付宝公钥记录下来。
最最后,再顺手把授权回调地址配置一下,也就是支付宝异步通知的地址。

接口集成

在这步之前,请确保你已经正确的完成下面几件事:

  1. 获取APPID
  2. 准备好商户的私钥
  3. 准备好支付宝公钥
  4. 已经上传了商户公钥到支付宝
  5. 已经配置好了授权回调地址
  6. 你已经签约完成并且准备好了partner_id(也称seller_id)

集成及调试步骤如下:

  1. 构造支付参数
  2. 使用商户私钥对参数进行签名
  3. 把签名和签名方式附在支付参数后面,通过接口传递给APP
  4. (抱歉,我是服务端视角,并不知道APP那边的故事)
  5. 接收支付宝异步回调并使用支付宝公钥进行验证

和微信APP支付一样,支付宝APP接口也并不会提示明确的错误,我们只能做的过程中加倍认真,然后多阅读文档。

注意:千万不要去检查签名和验证签名的过程是否正确,
绝大部分情况出错都是参数和配置的错

最后

支付宝APP的集成代码,和我们之前总结过的支付接口通用模式是符合的,感觉距离实现通用支付类又近了一步。


以上内容属于作者原创,特此声明,如需转载,请留言取得同意

支付接口教程,详解支付宝接口(二)相关推荐

  1. 电商API 接口用途详解,接口大全(商品、订单、搜索、SKU、上下架)

    电商无货源 API,商品详情关键字搜索.店铺所有商品.商品 SKU 买家卖家 ERP API, 添加购物车.上下架.订单处理 智能多语建站,快速建站 兼容旧站 集成 API 跨境代购系统,多语多支付物 ...

  2. 农行网上在线支付平台接口安装详解

    农行网上在线支付平台接口安装详解 2017年05月07日 16:02:53 白云下载站 阅读数:3426 中国农业银行的网上支付平台接口的安装还是有点复杂的,摸索了很久才搞定,总结了一下与大家共享. ...

  3. 2接口详解_TS入门笔记2——TS接口进阶详解

    TS入门笔记--TS接口进阶详解 一.为什么需要接口? let obj:object; // 定义了一个只能保存对象的变量 // obj = 1; // obj = "123"; ...

  4. ILI9341的使用之【四】RGB接口操作详解

    <ILI9341的使用之[一]TFT-LCD原理(转载)> <ILI9341的使用之[二]ILI9341介绍> <ILI9341的使用之[三]ILI9341系统通信接口模 ...

  5. AXI接口协议详解-AXI总线、接口、协议

    转自:https://cloud.tencent.com/developer/article/1695010 AXI接口协议详解-AXI总线.接口.协议 AXI 总线 上面介绍了AMBA总线中的两种, ...

  6. 详解EBS接口开发之WIP模块接口

    详解EBS接口开发之WIP模块接口 2014-07-23 22:53:49 caixingyun 阅读数 11780  收藏 更多 分类专栏: 详解EBS接口开发系列 版权声明:本文为博主原创文章,遵 ...

  7. 微信JS-SDK之图像接口开发详解

    2019独角兽企业重金招聘Python工程师标准>>> 参考: 微信JS-SDK之图像接口开发详解 http://www.cnblogs.com/it-cen/p/4587812.h ...

  8. 详解EBS接口开发之采购申请导入

    更多内容可以参考我的博客  详解EBS接口开发之采购订单导入 http://blog.csdn.net/cai_xingyun/article/details/17114697 /*+++++++ ...

  9. Java语言Socket接口用法详解

    Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Serve ...

最新文章

  1. 《算法竞赛入门经典》习题——Chapter 3
  2. 计算机不小心删除怎么找回桌面,如何将桌面上误删的文件找回
  3. 图的遍历(深度优先搜索法和广度优先搜索法)
  4. python变量名称跟着循环_python在循环中存储每次迭代使用不同名称的输入变量
  5. 2018.11.05-4028-撸串(string)
  6. Android View之用户界面...
  7. mac 向mysql输入 数据_(mac系统下)mysql 入门
  8. java四方支付系统
  9. 主力吸筹猛攻指标源码_成功率90%以上【主力吸筹+买点提示+使用方法】通达信指标公式源码...
  10. Mac苹果电脑怎么截图?Mac电脑快捷截图教程
  11. Udacity CH2中.bag 文件解析
  12. 计算机网络工程用排线架,网络配线架使用和安装说明【图解】
  13. Java 大厂面试必刷题 Day1:何为面向对象编程的思想?面向对象三大特征是什么?
  14. 在浏览器中使用百度地图的定位服务获得经纬度
  15. 统计学笔记——统计基础(协方差,相关系数,决定系数)
  16. adb bugreport :查看设备所有信息(获取错误报告)
  17. Mac版如何破解ps
  18. 华南农业大学课设——数据结构课设、Java课设、操作系统课设
  19. WINDOWS10使用LPR方式连接网络打印机
  20. 思科收购OpenDNS以提升Security Everywhere2015

热门文章

  1. easyexcel读取合并单元格内容_一周一个小技巧 | excel不会核对内容?不会填充合并单元格?7个实用的EXCEL技巧,一起来看看吧...
  2. linux kernel 内存管理 感想总结(未完待续)
  3. 平流式初沉池贮砂斗计算_水处理相关计算软件大全,提高工作效率必备
  4. 算法设计与分析 Fibonacci数列问题的词典法(动态规划:词典)
  5. 初识Tcl(六):Tcl 数组
  6. 【 FPGA 】UltraFast设计方法学:时序约束
  7. Python进阶02 文本文件读写
  8. Tomcat9 访问 Manager App
  9. 美国银行将 AI 应用于企业应收账款处理;联合国或将利用机器学习技术帮助救灾工作...
  10. 4702: 分糖果系列一