支付寶在沒有網絡時也能付款,官方解釋原理很簡單
最近好久都沒有帶現金了,一般支付都是使用支付寶或則微信。支付時發現離線也能付,懷著好奇在知乎上找到了答案。以下是網友在知乎提問,支付寶回答部分截圖:
沒網絡時也能進行支付(離線支付),是一個聽上去挺神奇,實現原理又很巧妙的支付方式。
如果你的手機因為停機或信號不好等原因,無法聯網,但又沒有帶現金,借助離線支付技術,你依然可以通過手機進行支付。
離線支付的全過程如下圖所示。用戶出示付款碼,商家使用掃碼槍等掃描付款碼完成收款。
離線支付的關鍵點一:付款碼可以離線生成
付款碼生成過程:
1、用戶打開支付寶App時,會向服務端申請令牌種子;
2、支付寶服務器會根據算法生成一個令牌種子,返回給支付寶App;
3、支付寶App得到令牌種子後,根據算法生成付款碼(可以離線生成)。
離線支付的關鍵點二:付款碼是一次性且實時更新
1、支付寶App生成的付款碼會包含有用戶標識、令牌值等信息;
2、付款碼是一次性的,且每分鍾會更新一次。
這樣就不會出現別人把你的付款碼打印出來再去付款。
離線支付的關鍵點三:付款碼能離線,掃碼槍需在線
付款碼離線支付過程:
1、線下支付時,用戶打開支付寶App,出示付款碼(可以離線);
2、商家用掃碼槍讀取付款碼,並上傳至支付寶服務器;
3、支付寶服務器收到商家傳來的付款碼後,與令牌係統裏保存的信息進行對比;
4、比對通過則創建支付訂單,並返回給商戶訂單信息,如果餘額足夠便可完成支付。
也就是說,付款方可以離線,但收款方得在線。通過在線的收款方搭橋,將離線的付款信息傳到支付寶服務器端進行校驗。
離線支付的特殊情況:付款方、收款方雙離線
前麵說到離線支付通常得付款方、收款方有一方得在線。但有一種特殊的場景,雙方都能離線。
在支付寶的城市服務裏,有公交付款的功能,目前已在部分城市部分線路落地。將來出門再也不必帶公交卡、帶零錢了,帶著手機就行。開通這個功能的用戶,頁麵會生成特定的付款碼(與支付寶首頁的付款碼不是同一個),通過花唄進行付款,也是一次性、每分鍾更新的。
用戶乘坐公交車時,用公交車付款碼進行付款。但有些公交車的收款係統不是實時在線的,可能是一路車跑完一趟後聯網,也可能是一天結束時聯網,而隻有在公交車的收款係統聯網時才會進行扣費。
所以一句話來說,就是手機離線,就通過扣款電腦搭橋做安全驗證;如果雙方都離線,就先記賬,等能做安全驗證時再扣款。
以上就是支付寶官方的解釋,我也發現一點,如果離線付款後,一般會短信通知您的扣款也保證了安全性。
最後更新:2017-08-26 22:07:48