春哥网络给大家分析下微信支付宝在没有网的情况下如何支付

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

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

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

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

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

付款码生成过程:

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

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

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

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

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

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

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

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

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

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

付款码离线支付过程:

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

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

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

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

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

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

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

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

戳进来看!微信、<a href=https://www.cgtblog.com/e/tags/?tagid=13 target=_blank class=infotextkey>支付宝</a>没网也能支付的原理

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


来源:春哥技术博客,欢迎分享,(春哥微信号:cgnanyin)
上一篇:春哥网络:只需这份非常强大的外国hosts      下一篇:如何申请购买多余的阿里云备案服务号?