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

無網絡情況下,支付寶,微信都可以使用付款碼進行支付!是怎麼實現線下與線上信息交互的?

我來回答

熱心網友回答 (4)

  • 迷妹有球????

    2019-07-21 12:01

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

    https://i1.ask543.net/uploads/34/7c/2/tos.jpg

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

    https://i1.ask543.net/uploads/34/7c/2/tos.jpg

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

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

  • stacy2005

    2019-07-21 19:56

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

    https://i1.ask543.net/uploads/34/7c/2/tos.jpg

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

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

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

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

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

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

  • 77831636724

    2019-07-21 23:26

    感謝您的閱讀!

    https://i1.ask543.net/uploads/34/7c/2/tos.jpg

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

    https://i1.ask543.net/uploads/34/7c/2/tos.jpg

    如果我們使用付款碼支付,對於【付錢】功能開啟的用戶,是可以直接支持離線支付。

    如果我們使用掃碼支付,實際上僅支持線上支付,不支持離線支付。

    同樣,如果大家想使用條碼付款,第一次使用網絡後,以後就不需要網絡支付了。

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

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

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

    生成付款碼。手機向服務端申請令牌種子,支付寶生成後,將種子給手機,在根據算法即使在離線下,也能生成付款碼。

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

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

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

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

  • 5806830270

    2019-07-21 11:30

    離線支付的關鍵點一:付款碼可以離線生成

    付款碼生成過程:

    1、用戶打開支付寶App時,會向服務端申請令牌種子;

    2、支付寶服務器會根據算法生成一個令牌種子,返回給支付寶App;

    3、支付寶App得到令牌種子後,根據算法生成付款碼(可以離線生成)。

    離線支付的關鍵點二:付款碼是一次性且實時更新

    1、支付寶App生成的付款碼會包含有用戶標識、令牌值等信息;

    2、付款碼是一次性的,且每分鐘會更新一次。

    這樣就不會出現別人把你的付款碼列印出來再去付款。

    離線支付的關鍵點三:付款碼能離線,掃碼槍需在線

    付款碼離線支付過程:

    1、線下支付時,用戶打開支付寶App,出示付款碼(可以離線);

    2、商家用掃碼槍讀取付款碼,並上傳至支付寶服務器;

    3、支付寶服務器收到商家傳來的付款碼後,與令牌系統里保存的信息進行對比;

    4、比對通過則創建支付訂單,並返回給商戶訂單信息,如果餘額足夠便可完成支付。

    也就是說,付款方可以離線,但收款方得在線。通過在線的收款方搭橋,將離線的付款信息傳到支付寶服務器端進行校驗。