支付寶,微信在沒網絡的情況下還能支付,是如何實現的?需要什麼支持?

歷史上今天的故事


感謝您的閱讀!

我們必須說明幾種情況,離線支付分為幾種情況,大家必須瞭解一下:

  1. 如果我們使用付款碼支付,對於【付錢】功能開啟的用戶,是可以直接支持離線支付。
  2. 如果我們使用掃碼支付,實際上僅支持線上支付,不支持離線支付。
  3. 同樣,如果大家想使用條碼付款,第一次使用網絡後,以後就不需要網絡支付了。

注意:關閉了小額免密功能也是需要網絡的,畢竟要輸入密碼!(除非是在公交掃碼支付的時候,可以雙方都沒有網絡,先記賬後支付)

那麼,為什麼沒有網絡的時候,微信和支付寶還是可以進行支付呢?我們看一幅圖:


這幅圖是離線支付的大體過程,按照支付寶的說法,離線支付能夠形成有以下原因:

  • 生成付款碼。手機向服務端申請令牌種子,支付寶生成後,將種子給手機,在根據算法即使在離線下,也能生成付款碼。
我們解釋的更清楚一些:App打開的時候,已經向服務器發送了請求,才認定了支付寶賬戶安全情況下,發送唯一的令牌種子,會在本地保存下來,我們手機斷網的時候,點擊付款碼會自動利用種子數據,以及時間戳和一套安全算法可以生成一串數字,即離線碼。

  • 付款時,因為商家的網絡是連接的,所以商家讀取了付款碼後,會上傳到服務器,支付寶的安全性就在這裡,因為它會比對商家傳來的信息,如果發現不一致,就支付失敗;只有系統數據一致情況下,才能進行支付。

它的原理來自於OTP,也稱動態口令,是根據專門的算法在每隔60秒生成一個口令。它同樣是通過客戶端以及服務器之間共享秘密的一次認證技術!它要求,時間同步,在短短的60s內讓動態令牌和動態口令驗證服務器的時間比對;事件同步,通過特定的事件次序及相同的種子值作為輸入,在HASH算法中獲得相同密碼,最後在挑戰/應答中,驗證通過。

不管如何,我們只要知道,離線支付是可以實現的,而且因為比對的關係,會讓支付更安全。


LeoGo科技


是否可以正常支付,暫且不說支付寶,就用微信來,證明一下不就知道結果了嗎?

正常的情況下,假設手機沒有網絡,在各大超市或者是一些24小時便利店,對方有網絡的條件下用掃碼槍,掃你的向商家付款的二維碼,是可以正常支付,並且沒有任何影響


如果對方沒有掃碼槍,需要你掃碼支付,在沒有網絡的情況下,有圖為證


並且最終顯示的是網絡加載失敗

支付寶可以在無網絡的情況下進行網絡支付掃碼,並且也可以通過向商家付款二維碼支付

平時使用微信以及支付寶,也最好設定當天的交易額的多少,小額交易現在大部分都是免密碼支付,比如支付的金額是100到200塊錢之間是不需要密碼


俠客挨踢數碼


這種情況就是我們說的離線支付,在我們手機沒有信號或者網絡的時候,去付款的時候卻能支付成功。

其實這個原理也很好理解,你存進支付寶微信裡的錢並不是存在你的手機上,而是以一個數據存在終端服務器上,你的手機上產生的支付寶微信付款嗎只是你一個憑證,當商家掃描你的手機付款碼時代表著你出示了該憑證,商家會根據他辦理三方收款平臺連接的支付寶和微信在服務器上扣除,你手上的付款碼就好比銀行卡一樣,錢不是存在銀行卡里,卡只是一個憑證而已。



首先要在有網的情況下,生成付款碼,是一次性的,每60秒會更新一次,保存下來支付二維碼,進行支付。 這種情況下,是要商家的支付系統必須在線。

還有一種情況,是商家和我們的手機都不在線的,也是可以支付的,就像我們有些公交車收款系統不是實時在線的,可能跑完一趟車在聯網或者一天結束後再聯網,而收款系統在聯網的時候才進行扣款的。就是雙方都離線,就先記賬,等到有網時候在進行驗證扣款。


海龍小雅


支付寶微信在沒有網絡的情況下是否能支付,這得分兩種情況:若商家掃描你的付款碼,你手機沒有聯網也同樣能付款成功(前提是你賬戶必須開通小額免密支付功能);若你掃描商家的收款碼,你必須聯網才能支付成功。


其實付款碼和收款碼是一樣的原理,都是別人掃你,付款碼掃後把錢付出去,收款碼掃後收錢回來,這個被掃的人不需聯網也能能完成支付,只是接收不到消息提醒而已。

下面我就針對上面情況,說說為什麼會那樣?原理是什麼?


首先我們先看下下面我畫的這個圖,付款碼支付的流程原理

一、先了解微信/支付寶付款碼是怎麼生成的

不管是微信或支付寶,付款碼原理都一樣,付款碼在我們每次打開時,付款碼都是不一樣的,大家可以細心看下就會發現,點開二維碼後,其實是一個條形碼,條形碼下面還有一串數字,每次打開後,這個數字都是變的。


因為只要我們把APP安裝到手機上之後,因為系統開發時,就是這麼開發的,詳細的專業詞語我就不多說了,不需聯網,每次打開都能生成一個付款碼,並且這個數字也是隨機生成的。


二、再瞭解整個支付流程原理

商家收款時,先要在自已電腦上輸入收款金額,然後當掃碼設備讀取付款碼後,商家系統會把這兩個信息同時上傳到支付寶/微信,請求平臺付款過來,當支付寶/微信收到這個付款請求後,系根據提前設置好的規則,判斷是否是合規的本平臺的信息。


若核對正常,就立即會根據商家提供的金額和消費者的二維碼,從消費者賬戶劃扣金額,並把餘額劃入商家賬戶,同時下傳成功收款信息到商家,下傳成功扣款信息到消費者,但因為消費者手機無聯網,所以,此時是收不到信息的,但什麼時候聯網後,就可以收到扣款信息了。

消費者的付款碼不需雙面交互,只是單方面的,也就是說商家可直接通過平臺直接把消費者賬戶的錢划走,不需消費者確認什麼的,這個前提是消費者有開通小額免密支付,若用戶沒有開通小額免密支付的話,那付款時就得輸入密碼,這時就得聯網了。


三、付款碼和收款碼是一樣的原理,不需聯網,只要是別人掃你的碼,都能正常支付成功

像平時商家一般都是收款碼,我們只用掃一掃,他們賬戶就收到錢了,但此時,商家手機可以不用聯網,同樣能收到這個錢,因為收款碼的設計原理決定了,收款時不需聯網就可以收錢。


收款碼生成後是永久不變的,但付款碼為了安全性,所以每次打開後都會變化,但原理與收款碼一樣,都是可以不聯網就能完成支付的。

總結:經上面分析,就明白了,為什麼自已不需聯網,出示付款碼也能成功給商家付款的原因了,只要有開通小額免密支付,付款時因為不用輸入密碼,這時系統就會直接從賬戶劃款到商家賬戶,這單方面的交互當然是不需聯網的。


歡迎【關注】火火愛秀,每日分享科技小知識,期待你的點贊+評論哦~

火火愛秀


大家都發現了,很多時候即使我們沒網絡,也依然可以出示付款碼給商家搜掃。這是支付寶的微信自己的技術實現的,離不開一定的二維碼技術。咱不是技術人員,沒法以專業知識給大家解析這項技術。只好從離線碼的使用原理方面解答一下大夥兒的困惑:

離線碼是什麼原理?

我們平時離線付款的流程是這樣的:商家在收款系統裡設置好金額——我們打開支付寶——出示付款碼——商家掃碼——過了幾秒鐘商家收到信息“付款成功”。我們的支付寶和微信在綁定銀行卡時都是經過實名認證的。所以支付軟件上的識別系統會 根據我們每個人的信息設定好的算法、種子數據和時間等等因素來生成一個二維碼,當我們用這個離線碼進行支付的時候,商家的掃碼槍會通過內部的計算來識別驗證,識別正確後會進行支付扣費操作。

離線碼安全嗎?

不少人害怕離線碼會被盜用,其實這個不用太憂慮。因為我們在進行支付的時候,會出現二維碼和支付條碼這兩種。當我們點開條碼的時候,就會出現一串數字,這些數字是每60秒就會自動更新一次。付款碼裡只有用戶的賬號信息,用戶的賬號信息應該固定的,然而二維碼裡隱藏的數字卻是隨時間變化的。

在這可以很直接的告訴你,目前這樣的付款碼技術是無法破解的。但還是要提醒大夥,我們支付的時候還是要多加小心,畢竟現在的科技很發達,“盜竊”的方式也是多種多樣的。


全鏈路零售界


您說的這種情況叫離線支付,所謂離線支付,通俗的說就是先通過信用校驗方式進行賬務處理,完成交易,等待具備網絡的時候進行核實,結算。

我們可以想象一下,如果我到商店買東西而忘記帶錢,老闆認識我的情況下我可以賒賬拿到要買的東西,然後下次拿錢去還賬。這其實就類似是一種離線支付。

支付寶和微信支付實現起來應該更容易一些,當我處於無網絡的狀態下,我的手機終端仍然能夠代表我的身份,以我的身份生成一個授信的條碼或者二維碼,這是我的身份信用證明,好比我對老闆出示我的身份證。

商家讀取這個支付碼後,會自動識別我的身份,如果商家是在線的,就可以和支付寶、微信支付的服務器端取得聯繫,確認我的身份信息和資金信息。這就類似商店老闆認識我,知道我有足夠的資金支付。


  • 商家如果在線的情況下,第三方支付公司只要校驗了客戶的身份信用信息,就可以通過服務器進行扣款,完成交易。就好比商店老闆安排店小二跑到我家裡和我媳婦說我買東西了,沒帶錢,讓他到家裡來拿錢是一樣的道理。

  • 如果商家也不在線的情況下,交易雙方都是出於記賬的狀態,等到有網絡的時候,上傳記賬信息,服務器進行了交易結算。就好比我回家取了錢,然後回到商店,和老闆把賬務結清。

離線支付基本的原理就是這樣的,其中比較關鍵的就是要生成一個能夠代表你身份的信息,而且,這個信息能夠防偽,能夠被對方識別並確認,最關鍵的問題是要避免信息欺詐。


互金直通車


支付寶、微信的出現,改變了傳統的交易方式,現在已經是人們日常消費離不開的APP了,並且無論有沒有網絡,都是可以實現消費支付的,官方還給這種消費起了個名字:離線支付,所謂的離線支付,是指消費者單方面的離線,而商家是不能離線,否則無法完成數據(金錢)的交換.

這種離線支付技術是支付寶和微信官方研發的,該技術的核心關鍵點是“付款碼可以離線生成”,當用戶點擊“付款”的時候,APP會生成一個“令牌種子”,然後根據特定的算法生成一個付款碼,當商家對該付款碼進行掃描時,就會把數據傳送到支付寶或者微信的服務器,然後服務器就會讀取付款碼裡的信息,最後和商家的賬戶進行數據交換,完成本次支付!


因此,在無網絡情況下,消費者的支付寶和微信都是可以使用付款碼進行支付的,但是商家不能沒有網絡,所以您可以理解為:這種離線支付方式是在支付寶或者微信的服務器上進行信息交互的!


桃園Computer


是這樣的,雖然用戶沒有聯網,但收費商家的終端機是聯網的。

也就是我用戶的二維碼可識別的唯一ID,已經通過商家的終端與終端進行了信息交換。這就是底層的工作原理。

但你會發現兩個問題,一是離線的情況下,收完款後,是沒有信息反饋的,這說明此時用戶的手機還沒有和服務器進行交互。

二是,有時商家掃完碼後,不能直接扣扣,這就需要安全驗證,用戶還是需要聯網,不聯網,完成不了支付。

這基本上就是支付的底層工作原理。



整理貓兒App


把你的數據暫時存上了,等到聯網的時候就會傳送數據,最終完成結算。準確的說沒聯網的時候沒有結算成功,只是離線狀態把你的數據收去了。飛機上的刷卡購物也是一樣道理。


此用戶已閉嘴


無網絡?雙方都無網絡根本無法交易。只能說你不在線而已。好比孩子在超市拿了東西就走,其實是家長在買單一樣。


分享到:


相關文章: