面试试题相关程序员不为生活的写作都是耍流氓

关于支付宝的支付流程

2017-10-28  本文已影响743人  乔啊良

关于支付

现在的电商项目已经非常火爆了,随之而来的像支付宝,微信等第三方支付也非常的火爆,所以这里简单的说一下支付宝的支付流程。

支付步骤

工作前准备

首先我们需要在蚂蚁金服官网上面注册一个开发者账号,上面有关于开发者的文档和需要的SDK到这我们就可以做一些实质性的开发了。

  1. 创建应用并获取APPID
  2. 配置秘钥
    这里会生成RSA秘钥,(就是一种非对称的加密)的加密方式
    它的秘钥分成公钥和私钥两类一般是公钥加密私钥解密或者私钥加密公钥解密
    生成秘钥后在开发者平台进行秘钥配置最后就可以得到支付宝的公钥了

支付宝的支付流程呢

其实如果我们只想简单集成一下支付宝的支付,只需要上面的几步再下载下来官网的Dome就差不多了,但是真正去面试的时候面试官更多的是关心支付宝的支付流程,所以这里简单多支付宝的支付流程说一下:

支付流程图

我们可以简单的看出整个支付宝的支付流程设计到五大块,分别是:用户、商户客户端、支付宝客户端SDK、支付宝服务端、商户服务端其实也就是说,整个支付流程就是这五大块之间的交互,具体的实现上图也给的很清晰了(图中虚线标识商户链路,实线标识支付宝链路),下面对图中重要的步骤简单的介绍:

关于加密

我们都知道支付的整个流程都是通过加密完成的(RSA非对称加密)所以这里简单的对支付宝中用到的加密流程说一下:
在商户服端要完成的,商户客户端获取签名的过程

RSA非对称加密

RSA非对称加密:RSA算法可以用于数据加密和数字签名,总原则就是:公钥和私钥一个用来加密一个用来解密

下面以甲方和乙方来举个加密过程的例子:

甲方:商户客户端,支付宝客户端
乙方:支付宝服务端,商户服务端

<h4> 支付加密的模型</h4>

  1. 甲方在本地构建秘钥对(公钥+私钥),并将公钥告诉乙方
  2. 甲方将数据用私钥进行加密,发送给乙方
  3. 乙方用甲方提供的公钥对数据进行解密
    (当然这个整个传递过程是可以互换的,也可以由乙方传递给甲方)
密钥生成和发布的过程 甲方发送数据 乙方发送数据

END

到这里支付宝的整个支付流程和RSA加密就简单介绍完了,
这里贴一下自己写的一个调取支付宝支付的code,(注意每次支付成功就是支付一分钱,所以请别随意支付,代码可运行
项目地址
https://github.com/Qiaoshi96/PayDemo.git
贴一下效果图

这里写图片描述 这里写图片描述
上一篇 下一篇

猜你喜欢

热点阅读