整个支付宝的支付流程涉及到五大块,分别是: 用户、商户客户端、支付宝客户端SDK、支付宝服务端、商户服务端, 整个支付流程就是这五大块之间的交互。( 图中虚线标识商户链路,实线标识支付宝链路 )
下面对图中重要的步骤简单的介绍:
1.用户添加购物车,生成待支付订单,产生唯一订单号
2.商户客户端请求商户服务端(自己的后台),在后台对订单信息进行签名操作,这里应用为了安全考虑,会把私钥放在服务端,客户端只要报订单号传给服务端,具体签名在后台进行。
3.服务端把签名好的订单信息返回给客户端
4.客户端调用支付接口,把签名好的订单信息,通过调用支付宝API,发送给支付宝客户端SDK
5.支付宝客户端会向支付宝服务端发起支付请求
6.用户从支付宝客户端输入支付密码,完成支付
7.支付宝服务端将结果返回给支付宝客户端
8.支付宝客户端将支付结果返回给我们的商户客户端,如100支付成功
9.同时,商户客户端也将支付结果发送给了商户服务端,进行验签、解析支付结果。将客户端与服务端的支付信息进行比对,确保订单支付正确无误
10.确认订单无误之后,返回最终支付结果给商户端
11.最后,客户端将订单支付完成的信息显示在界面,告知用户支付完成
支付宝支付流程参考: 关于支付宝的支付流程 - 简书 (jianshu.com)