search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

快捷支付的背後邏輯:淺析掃碼支付的實現流程

平常我們在購物付款時,使用手機中的微信或支付寶掃一掃即可完成支付,無需像以前攜帶現金等著商戶找零錢。線下掃碼支付大大的提高了我們付款的效率,今天就主要談一談掃碼支付的實現流程,讓我們享受快捷的同時,也了解其中的原理。

二維碼——信息的載體

說起掃碼支付,就不得不提二維碼。線下所有的掃碼支付都是以掃二維碼開始,通過掃描二維碼,我們可以看到付款頁面商家的名稱,所以二維碼在這裡承擔的角色是——信息的載體它通過黑白相間的排列組合記錄信息。不止是支付,我們看到很多APP的下載鏈接,也是用二維碼的形式記錄鏈接地址。現在網上有很多現成的工具,輸入一段內容后,即可把內容生成二維碼,所以生成二維碼這一步的實現流程不存在技術難題。

選擇二維碼作為付款信息的載體,一方面是受收銀台掃描商品一維碼來識別商品,這一場景的啟發,另一方面是二維碼本身可存儲足夠大的數據信息,而且支持不同的數據格式,同時二維碼有一定的容錯性,部分損壞后仍可正常讀取。這一切,使得二維碼成為了被大眾廣泛使用的信息載體。

二維碼識別——APP校驗及後台解析

二維碼攜帶的信息,我們無法通過肉眼識別,不同的支付機構在二維碼中注入的信息規則不一致,需要對應的伺服器根據其編碼規則解析。我們每次使用掃一掃識別二維碼后,都會提示「正在處理中」,意味著後台伺服器正在解析這個二維碼的內容,比如核對二維碼攜帶的鏈接地址是否合法(像微信解析出是支付寶的鏈接會屏蔽)、是屬於支付鏈接還是屬於外鏈網址等。

校驗的規則很多,就支付鏈接來說,伺服器校驗屬於自己公司的支付鏈接后,會獲取支付鏈接中包含的商戶信息,進而判斷該商戶是否存在、商戶狀態是否正常等,所有校驗通過後,後台伺服器會把商戶名稱返回到發起用戶的手機APP上,同時告訴APP,伺服器校驗通過了,APP你可以調起收銀台了。

於是我們確定支付,輸入支付密碼,後台繼續校驗支付密碼的正確性,正確的話支付就此完成。

掃碼支付流程的關鍵步驟

從這個過程來看,要實現掃碼支付的流程,最關鍵的是要定義允許識別哪些類型的二維碼以及後台的校驗邏輯。

定義允許識別哪些類型的二維碼。也就是說,當APP掃一掃,如果產品經理定義,發現二維碼攜帶的信息是別家的網址「https://www.tina.com」,就在我們APP這邊進行過濾,比如只要不是以「https://www.wx.com」開頭的,不去請求伺服器。所以,有些時候,明明是網址,但是解析后你看到的是一串純文本。

比如定義支付鏈接的格式為「https//qr.wx.com……」,每次檢測到該鏈接開頭的,就請求伺服器去校驗該支付鏈接的有效性。

此外,還需要定義平台自有的解析規則,如微信識別為付款碼是以13開頭,微信檢測到數字內容是以13開頭的,會先去匹配其是否符合付款碼的規則,符合的話才會進行後續的解析,如下圖所示:

以上說的是主掃,也就是用戶掃商家;對於商家掃用戶,原理是一樣的,只不過用戶的付款碼中包含的是識別該用戶的專屬ID,商家通過收銀系統向微信或支付寶提交訂單時,把掃碼槍識別出來的信息傳遞給微信或支付寶,他們根據這個專屬ID找到對應的用戶,通過代扣直接就扣款了。

本文由 @ Tina徐玉環 原創發佈於人人都是產品經理。未經許可,禁止轉載。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦