继续写,我不困。 上图
1.app选择商品进行下单,请求后台获取签名订单信息。
2.app通过SDK调起支付宝支付接口。
3. 支付宝客户端发送支付请求到支付宝服务端。
4.支付成功返回支付宝客户端
5.返回给app,同步后台数据,验证签名支付结果,返回给app显示给用户。
同时给支付宝服务端发送支付通知,后台确定收到。
app发送订单---》返回代签名的订单信息---》SDK调起支付宝的支付请求---》 返回给app结果,同时通知后台。
另外在另一片地址看到一些服务端需要做的地址,支付宝是非对称加密(rsa):
在app发起订单其请求时,后台就会生成一个数组,再把数组的数据生成一个有序字符串,进项RSA-SHA1算法,
结果在私钥进行签名。 有序字符串+签名+签名方法=订单
支付宝发送过来一个有序的字符串进行hash然后根据公钥进项验证。验签成功后就交易成功。
微信与支付宝支付的区别:
微信:
网络请求:Post
数据格式:xml
签名算法:MD5
支付流程:商户服务器需要将订单信息通过统一下单api到微信服务器请求预支付交易单
异步通知处理:通知频率不一样,如果异步通知的商户服务器没有给微信服务端有效反馈,微信服务端会以一 定频率重发通知
(通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)
支付结果校验:提供主动查询订单支付信息接口
支付宝:
网络请求方式:get
数据格式:json
签名算法:RSA(最难破解的加密方式.)
支付流程:无需请求预支付交易单
异步通知处理:通知频率不一样,(通知频率为2m,10m,10m,1h,2h,6h,15h)
支付结果校验:不提供主动查询订单支付信息接口