微信支付宝服务器在哪里,解析微信支付宝在没有网的情况下如何支付

原标题:解析微信支付宝在没有网的情况下如何支付

移动支付现在非常的普及,说夸张点,连乞丐都支持扫码收钱了。我们最常用的支付宝和微信支付相信已经有非常多的用户在使用了,因为确实非常方便,出门不需要携带那么多现金,付账扫码就可以了。当然在实际使用中我们也会遇到像手机欠费或者信号不好不能联网的情况,这个时候其实也是可以实现完成支付的, 这就是离线支付功能,可以在手机未连接网络的状态下进行付款操作。那么这离线支付功能是怎么实现的呢,一起来了解下。

f3748dd6e9fec9cd99c39325e8452af9.png

离线支付的流程如下图所示,用户出示付款码,商家使用扫码枪等扫描付款码完成收款,这看似非常简单的离线支付流程,其实在背后需要有几方面的必备条件才可以顺利完成:

0439880789df25d71901003e137443c2.png

8f196eb3bc43074deb7aec27ac16e43a.png

关键点1:可以离线生成的付款码

付款码生成过程:

1、用户打开支付宝客户端选择付款码,软件会向服务端申请令牌种子;

2、支付宝服务器会根据算法生成一个令牌种子,返回给支付宝客户端;

3、支付宝客户端得到令牌种子后,根据算法生成付款码(可以离线生成)。

6003e36eb2efeb0c77df085b5ebdafb2.png

关键点2:付款码是一次性且动态更新

1、支付宝客户端生成的付款码会包含有用户标识、令牌值等信息;

2、付款码是一次性的,且每分钟会更新一次。

有效避免出现别人把你的付款码打印出来再去付款。

c4a451dc11916f269b3810649c485fe2.png

关键点3:付款码可离线,扫码枪需在线

付款码离线支付过程:

1、线下支付时,用户打开支付宝客户端,出示付款码(可以离线状态);

2、商家用扫码枪读取付款码,通过商家的设备上传至支付宝服务器;

3、支付宝服务器收到商家传来的付款码后,与令牌系统里保存的信息进行对比;

4、比对匹配则创建支付订单,并返回给商户订单信息,如果用户的余额足够便可完成支付。

c60cb805e73aa221f260e0a4324ed7ea.png

通过离线支付的过程可以看出,手机可以离线,但是作为收款方的商户需要自己的扫码设备保持在线,通过在线的收款方搭桥,将离线的付款信息传到支付宝服务器端进行校验,最后完成支付操作。

微信的离线支付功能跟支付宝的离线支付功能都是同一个原理实现的,同样通过手机客户端生成付款码,然后商户扫码与服务器数据比对,数据匹配就可以顺利完成支付。

其实这里离线支付的原理跟银行的动态密码一个意思,都是每个用户都有特定的算法算出来的数据编码,然后跟服务器比对,比对成功就可以完成支付。

3eb4d488cf395110ba6c69fb597d591e.png

最后友情提示:移动支付现在这么方便,并且在没有网络的情况下也可以顺利完成付款,下次出门可以试一试方便的离线支付功能。当然,虽然现在没有丢现金的问题了,但是手机可一定要保管好,尤其是支付软件使用完毕一定记得要退出,软件常驻后台可能给自己造成不必要的损失。

本文转自春哥技术博客(@春哥团队)——致力于原创文章、技术难题、源码技术的平台,未经允许不得转载!返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值