支付宝的无网支付是如何实现

2016-08-19 11:41:52 +08:00
 414348489
7293 次点击
所在节点    问与答
39 条回复
des
2016-08-19 16:44:52 +08:00
@arens ??如果没有网络,仅仅通过扫码,怎么能知道是谁扫的码??
des
2016-08-19 16:51:26 +08:00
搜了一下是用声波传输数据的。

不过嘛,可能有黑产会盯上。
Tony2ee
2016-08-19 17:09:39 +08:00
动态口令牌而已
你手机上显示的码只是为了告诉商家 /支付宝“我是谁”,
至于收款商户信息、常用地点检验、金额检验等等操作都是通过商家联网与支付宝对接以后在云端完成的。
离线扫码支付实际上是个很不错的功能的,有效解决了许多商场的超市在地下信号差导致交易失败的问题,有时候地下的超市的无线 POS 机由于信号原因无法付款的时候支付宝是个很好的解决方案
xdeng
2016-08-19 17:57:26 +08:00
@just4test 怎么保证服务器时间和手机时间一致或误差?公交卡里的余额好像支持 nfc 的手机可以读出来
SPACELAN
2016-08-19 18:06:34 +08:00
公司里用的 rsa token 不也是一样离线验证么
SourceMan
2016-08-19 18:08:27 +08:00
动态口令咯
ohhe
2016-08-19 18:10:41 +08:00
你的哪个卡可以上网?不都是可以支付
ohhe
2016-08-19 18:18:17 +08:00
所以两方只要一方可以上网就可以了
qzy168
2016-08-19 18:30:12 +08:00
商家刷的时候,又不需要你输入密码确定。
chromee
2016-08-19 19:00:54 +08:00
@ohhe 商家不上网怎么收到钱
cmxz
2016-08-19 19:03:23 +08:00
@csdreamdong 你的二维码亮出来让商家扫就是你确认支付的行为
JJaicmkmy
2016-08-19 19:07:19 +08:00
@csdreamdong 如果是商家出示二维码,你来扫这种是必须联网的。但是如果是你出示二维码,商家来扫这种是可以离线的。
zhicheng
2016-08-19 19:59:53 +08:00
那个二维码和信用卡的磁条信息差不多,再加上时间戳,随机数和签名防伪造。公交卡要复杂一些。
justina25
2016-08-20 00:10:17 +08:00
内部人士。。很高兴有人讨论这个问题。。基本说的都对的。
提个小问题大家思考下, RSA 这种 Token 都是基于时间的,换句话动态令牌都是隔一分钟刷新一次 key 值的。支付宝的付款二维码在离线情况下除了每分钟刷新之外,还可以手动刷新二维码,这是怎么做到的?
(可以掏出手机看下,点那个每分钟自动刷新的地方也可以是手动刷新)
iyangyuan
2016-08-20 06:09:02 +08:00
商家有网
cheese
2016-08-20 09:00:39 +08:00
@justina25 时间戳精确到秒,然后对应的一分钟内所有的 60 个时间戳都能被识别?
justina25
2016-08-22 10:51:05 +08:00
@cheese 这样暂不说系统成本很大。。准确度也很有问题, 1 分钟一变的话算上时间窗口可以允许 3 分钟之内的时间误差。精确到秒的话你只要时间差 3 秒就验证不通过了。。
CYKun
2016-08-22 12:26:15 +08:00
@justina25 用序列号?客户端每次生成 token 时把序号加 1 ,服务器收到 token 后比较其中的序号和用户最后一次交易的序号,前者比后者大说明是有效 token 。
arens
2016-08-29 11:08:38 +08:00
@des
@csdreamdong
是商家来扫码,你手机上的码只是你的基本信息,而你愿意让商家来扫也被系统认为“你愿意支付”

声波支付前几年的一个创业项目里就用过,的确不安全~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/300380

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX