為什麼手機沒有網絡,支付寶還能掃碼付款?

離203766773

俗話說得好“機不可失,失不再來”,手機可謂是十分重要的。

而手機支付也已經走入了大家的生活。

細心的小夥伴可能會發現,有時候明明沒有開流量,可是店員掃了手機上付款的二維碼,還是付款成功了,這是為什麼呢?難道無意中刷了臉卡嗎?

其實啊,在沒有網絡的時候,生成的這個叫做離線碼。

支付軟件給我們每個人配了一個獨一無二的身份識別, 叫做種子數據。

離線的時候,支付軟件上的程序會根據算法、種子數據、時間等等,生成一個特別的二維碼。

掃碼槍輕輕一掃,把這個碼的數據返回給支付軟件核對,一旦對上了,雙方牽手成功,這就支付成功啦。

需要注意的是,在這個過程中掃碼槍,商家的系統,支付軟件的系統,必須都連接到網絡上。

否則就不能夠核對,也就沒法付錢。

如果大家更換了登陸的賬戶,種子數據也會改變。

所以不要擔心別人的賬戶用了你的離線碼哦。

但是呢,如果在小攤上,需要掃商家的二維碼付錢。

這個時候你的手機就相當於掃碼槍,是必須聯網的。



更多精彩知識問答,請關注我:找靚機科普(zljkepu)


找靚機二手機

手機在沒有網絡的情況下也能被掃碼付款,這種支付叫做離線支付。那麼用戶是怎麼在不通過網絡的情況下完成付款的哪?


下圖為離線支付的過程圖:

用戶出示付款碼,商家使用掃碼槍等掃描付款碼完成收款。


離線支付過程中的關鍵點

關鍵點一:付款碼離線生成,具有一次性和實時性

用戶打開支付寶時,會向服務端申請得到令牌種子(根據支付寶服務器的算法生成),得到種子後再根據算法生成付款碼(此碼可以離線生成),這個付款碼會包含了用戶的標識、令牌值等信息,並且是一次性的,每分鐘更新一次。 這使得你的付款碼即使被盜取,也不會有經濟損失。

關鍵點二:掃碼設備需在線

當掃描設備把離線的付款嗎發送到支付寶服務器後,會與令牌系統裡儲存的信息進行比對, 比對通過後會創建支付訂單,並返回給商戶訂單信息,如果餘額足夠便可完成支付。這其實就是通過收款方牽線搭橋的方式,取得服務器、付款方、收款方之間的聯繫。

更多優質內容,請持續關注鎂客網~~


鎂客網

謝邀!喜歡,就關注下~

吉普不是技術師,只得簡單介紹其原理。在支付過程中,可以分為三大類:

用戶與商家都有網絡

這是最理想的狀態,也是我們經常接觸的狀態。每一次碼都是由服務端生成,相對比較安全。就算二維碼進行安全升級或者調整,也不用管我們用戶的事兒,因為那是服務端的調整。這就是常說的,在線支付。

用戶沒網,商家有網絡

有時候,會因為停機或者信號不好的原因,我們的手機沒有信號了,去付款的時候,卻又能付款成功,這就是常說的,離線支付。

第一步、在有網的時候,我們打開支付寶APP,會向服務端申請令牌種子;

第二步、隨後服務端會根據算法生成一個令牌種子,然後向我們發送這個令牌種子,然後保存在手機內部;

第三步,當在無網的情況下,支付寶APP會利用令牌種子+時間+算法生成一串數字,也就生成了我們所用的離線碼;

第四步,當商家掃描這個碼的時候,服務端通過算法校驗這個離線碼,如果是來自於本手機,隨即就會確認完成支付。

這個離線碼有幾個關鍵點:付款碼可以離線生成,包含了用戶標識、令牌等信息,並且是一次性,每60秒會更新一次。

用戶端可以離線,但商家的掃碼槍需要在線。掃碼槍讀取離線碼,需要將信息上傳至支付寶服務器。或許理解上有點困難,但其實很好理解,商家沒有得到付款完成的信息,是不可能讓我們離開的,所以他們必須在線。

用戶、商家都沒有網絡

還有一種情況,用戶、商家雙方都離線了,這種雙方都離線的情況場景比較單一,比較常見的場景就是公交付款,掃二維碼附公交費。在支付寶裡,頁面會生成特定的付款碼,與支付寶首頁的付款碼不是同一個。付款方式,先記賬,等聯網了做安全驗證再扣款。


科技吉普

掃一掃只是支付寶內置的一個應用而已。並不是說,你掃描出來了能付款但是你輸入密碼就能夠付款。

事實上,你掃描出來也只能進入到那個頁面而已,但是你輸入密碼的時候是提示你無網絡是沒有辦法支付的。所以這一點你不用擔心它的安全性,沒有網絡的情況下是沒有辦法進行數據傳輸的,沒有數據傳輸也就是沒有辦法進行支付。

其它的應用app當中也有很多掃一掃的應用程序,它是內嵌在我們當前使用的app當中,可以把他當做一個獨立的插件,這個插件在正常使用的情況中,也要結合當前的應用app才能夠使用。


書藍畫青

目前二維碼支付對於付款方來講,有兩種場景:

一、你是主掃,就是你拿手機掃對方的二維碼,比如我們掃小商家的收款碼支付,這種情況下,你的手機必須要聯網的,否則支付不成功。

二、你是被掃,就是你拿著手機生成二維碼,然後對方拿著掃碼槍掃你手機,然後從你手機中扣款,這種情況下,你的手機可以不聯網,也會支付成功。

所以這個問題的正確表述是:為什麼我的手機不能上網,但是商家拿著掃碼搶掃我的支付寶付款碼,還是能成功扣款?

為什麼會這樣,第一種情況下我們手機掃對方,是通過二維碼識別對方的身份,然後向對方付錢,這個時候如果你手機不聯網,你掃了之後,無法識別對方身份,也無法進行下一步付款的。

第二種情況下,因為你手機生成的二維碼付款碼,是代表你自己的身份,裡面包含有支付寶帳號等信息。

這時候商家掃一下你的手機,而對方的設備是聯網的,這時候只要識別出你的二維碼代表的身份,然後通過設備本身向支付寶發送扣款請求,就直接從你的支付寶中扣款了,你無需上網。

所以你才會發現即使你手機沒上網,也一樣可以付款。這兩種情況下我們可以得出一個結論,交易雙方必須有一個人是上網的,那麼這個交易就可以成功。


互聯網亂侃秀

這個一點都不奇怪,假如你是被掃碼付款的情況下,完全沒有問題。因為點開付款碼只需要一步,點開支付寶直接點付款碼,付款碼展開以後商家掃碼,就可以完成付款了。


付款碼裡已經有完整的你的信息,就像掃一張紙質的付款碼一樣。可是,假如需要你掃商家的收款碼就不行了,因為還有輸入付款金額,和輸入付款密碼兩道操作,沒有網絡連接是做不到的。


玩布公

歡迎關注我,一個程序員老司機,和你分享編程、運營、需求等等經驗和趣事。

恰好我最近正在做一個商家掃碼和用戶掃商家的APP,下面來和你說說關於掃碼付款的一些事情。

付款碼攜帶什麼?

我們知道掃碼之後肯定會付錢的,所以這個付款碼攜帶的信息其實就是一串標識目前登錄用戶的字符串而已。

為什麼用戶付款碼會變

如果用戶付款碼不變的話,那麼如果商家掃碼的時候,對這個付款碼進行拍照,那麼就麻煩了,商家可以一直掃這個付款碼進行收款的操作,這樣用戶的錢會不斷的被商家套取,所以基本上用戶的付款碼時間有效期很短很短,比如支付寶就是一分鐘之後就失效了。

離線付款碼怎麼實現?

其實付款碼就是一套算法而已,對於離線付款碼,那麼生成付款碼的邏輯肯定是在APP端進行生成的,整個付款碼生成及失效的驗證等等都是APP端自己完成的,然後生成付款碼的時候可以採用UID(假設是支付寶標識用戶字段)+ 一定的數字經過一定的算法生成最後的付款碼,然後商家掃碼的時候,將這個上傳到服務端,服務端解碼這個付款碼,抽取出裡面的UID,從而進行最終的付款結算操作。


web互聯網

為什麼手機沒有網絡,支付寶還能為什麼手機沒有網絡,支付寶還能掃碼付款?掃碼為什麼手機沒有網絡,支付寶還能掃碼付款?付為什麼手機沒有網絡,支付寶還能掃碼付款?款為什麼手機沒有網絡,支付寶還能掃碼付款??那是不可能的事情。不可能!不可能!


分享到:


相關文章: