支付宝离线支付原理

支付宝离线支付,是一种半离线支付方式,对用户离线、对商户在线。本质上,在支付宝客户端上生成一段标识码,可以标示该支付宝用户。商户获取该标识码后,并向支付宝后台申请在该标识码对应的支付宝账户中扣款。至于标识码的生成方式则可以通过各种玩法生成,有离线的,也有在线的;有声波、二维码,未来也可以玩成NFC等等。

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

付款码生成过程:

1、用户打开支付宝App时,会向服务端申请令牌种子
2、支付宝服务器会根据算法生成一个令牌种子,返回给支付宝App
3、支付宝App得到令牌种子后,根据算法生成付款码(可以离线生成)

离线支付的关键点二:付款码是一次性且实时更新

1、支付宝App生成的付款码会包含有用户标识、令牌值等信息
2、付款码是一次性的,且每分钟会更新一次。这样就不会出现别人把你的付款码打印出来再去付款

离线支付的关键点三:付款码能离线,扫码枪需在线

付款码离线支付过程:

1、线下支付时,用户打开支付宝App,出示付款码(可以离线)
2、商家用扫码枪读取付款码,并上传至支付宝服务器
3、支付宝服务器收到商家传来的付款码后,与令牌系统里保存的信息进行对比
4、比对通过则创建支付订单,并返回给商户订单信息,如果余额足够便可完成支付

也就是说,付款方可以离线,但收款方得在线。通过在线的收款方搭桥,将离线的付款信息传到支付宝服务器端进行校验

离线支付的特殊情况:付款方、收款方双离线

前面说到离线支付通常得付款方、收款方有一方得在线。但有一种特殊的场景,双方都能离线

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :