支付宝,微信在没网络的情况下还能支付,是如何实现的?需要什么支持?
您说的这种情况叫离线支付,所谓离线支付,通俗的说就是先通过信用校验方式进行账务处理,完成交易,等待具备网络的时候进行核实,结算。
我们可以想象一下,如果我到商店买东西而忘记带钱,老板认识我的情况下我可以赊账拿到要买的东西,然后下次拿钱去还账。这其实就类似是一种离线支付。
支付宝和微信支付实现起来应该更容易一些,当我处于无网络的状态下,我的手机终端仍然能够代表我的身份,以我的身份生成一个授信的条码或者二维码,这是我的身份信用证明,好比我对老板出示我的身份证。
商家读取这个支付码后,会自动识别我的身份,如果商家是在线的,就可以和支付宝、微信支付的服务器端取得联系,确认我的身份信息和资金信息。这就类似商店老板认识我,知道我有足够的资金支付。
商家如果在线的情况下,第三方支付公司只要校验了客户的身份信用信息,就可以通过服务器进行扣款,完成交易。就好比商店老板安排店小二跑到我家里和我媳妇说我买东西了,没带钱,让他到家里来拿钱是一样的道理。
如果商家也不在线的情况下,交易双方都是出于记账的状态,等到有网络的时候,上传记账信息,服务器进行了交易结算。就好比我回家取了钱,然后回到商店,和老板把账务结清。
离线支付基本的原理就是这样的,其中比较关键的就是要生成一个能够代表你身份的信息,而且,这个信息能够防伪,能够被对方识别并确认,最关键的问题是要避免信息欺诈。