快捷支付的本質:拆解掃碼支付的實現原理

9 評論 18489 瀏覽 140 收藏 17 分鐘

如今在中國,二維碼支付已經成為了人們最重要的支付方式。本文回答了二維碼的種類、原理、互聯互通的邏輯以及掃碼住背后資金流的走向問題。

目前在大街小巷,掃碼支付已經成為了最受歡迎的支付方式,那么大家是否會好奇這背后的支付原理是怎樣的?

同時我近期看到央行開始主推“標準條碼互聯互通”的新聞,感覺還挺有趣的,于是抽空對掃碼支付進行了一次大梳理,也順便分享出來。那么通過這篇文章,我將主要介紹三件事:

  1. ?常見主掃和被掃支付的原理?
  2. ?常見的靜態聚合碼是如何實現一碼多付的?
  3. ?條碼支付互聯互通是什么?有什么價值?以及可能會如何實現的?

一、掃碼支付

我們常見的掃碼支付主要分為主掃(你掃商家)和被掃 (商家掃你)兩種;

要特別講明白掃碼支付,就不得不提一下二維碼這個plus的東西。我們生活中存在各種應用二維碼的東西,如掃碼加好友,掃碼下載app,掃碼支付等,同時也存在條形碼,類似超市的付款條碼,商品條碼等。

與條碼相比,二維碼記錄信息容量更大,具有容錯性,所以是當前最受歡迎的一種記錄形式。

二維碼/條碼都是一種加密的信息承接載體,都是將復雜的東西簡化給我們呈現出來。

當我們通過掃一掃進行掃描二維碼的時候,實際上就是通過一定的規則將二維碼里面的內容解析出來,比如地址合法性,是不是支付鏈接,還是外鏈網址之類的。

1. 主掃的原理

1)先睹為快

2)主掃支付的流程

3)主掃的核心邏輯

在我們實際的過程中,經常會出現支付寶掃支付寶二維碼有時會提示已失效,掃其他二維碼會告知不可用,那么這里掃碼的原理是怎樣的,做了哪些具體判斷呢?

  • 判斷二維碼鏈接是不是支付鏈接;
  • 判斷該支付鏈接是不是自家的。如果不是,則攔截,目前支付寶的支付鏈接是“https://qr.alipay.com…”,則允許通過請求服務器,但如果檢測是“https://qr.wx.com…”,說明是微信支付鏈接,支付寶則反手就給你屏蔽了~
  • 之后再去解析二維碼是否符合自家規則,目前支付寶的二維碼是“28”開頭,微信一般是”13“開頭;解析之后,再判斷二維碼是否有效;有效則進行支付即可;無效則提示二維碼失效。

2. 被掃的原理

場景:我們去超市買東西經常都會要求打開付款碼,然后掃碼槍進行掃碼支付。

特點:操作步驟簡單、支持離線付款、付款效率高

1)先睹為快

或許在這里很多人會納悶這里有條形碼和二維碼,最終的支付到底是掃條形碼還是二維碼呢?

其實這里取決于掃碼槍,現階段市面上有兩類:一維掃碼槍 (僅可以支持掃條形碼)和二維掃碼槍(兩個都可以掃)。

2)被掃付款邏輯

  • 用戶打開付款碼;
  • 收銀員輸入用戶應付款金額,并生成訂單;
  • 掃碼槍掃碼之后,將訂單提交給商家收銀臺系統;
  • 商家收銀臺系統將訂單推給商家后臺;
  • 商家后臺將訂單推給支付寶請求完成扣款;
  • 支付寶扣款成功,通知商家后臺系統,同時給用戶發送消息通知。

以上如果商家不是直連支付寶/微信,而是對接其他三方支付公司,那么支付訂單可由商家推給支付寶/微信官方,改為推給對接的三方支付公司即可。一旦支付寶扣款成功,那么對接的支付公司會回調通知商家這筆訂單的支付結果。

3. 主掃和被掃的對比

相同點

  • 兩者的基本原理都是一樣的;
  • 掃碼支付的限額都比較低,遠低于網銀支付;

不同點

  • 用戶主動操作對象不一樣,一個是用戶,一個是商家;
  • 被掃的話,在用戶付款碼中就會包含用戶的唯一ID標識,支付寶/微信可以直接找到該用戶完成扣款操作。

4. 異常情況處理

在我們進行掃碼支付時,其實也會出現一些故障,那么針對這些故障,一般會有什么補救措施呢?

1)掃碼槍付款時,突然網絡不穩定不確定是否已付款了怎么辦?

答:出現網絡不穩定,可以由兩種處理方式:

  1. 可以調用查詢接口去主動查詢微信/支付寶渠道該筆訂單是否已支付;如已支付,則就會更新訂單狀態;
  2. 直接調用訂單撤銷接口,即不管用戶有沒有完成付款,這筆訂單終止,已付款則會退回余額;

2)出現重復支付的問題怎么辦?

答:系統作自動退款處理。一般重復支付指的是一個商品重復請求多次,并且多次完成支付了。針對這種情況,商家所接入的支付機構會判斷出來,同時會作自動退款處理的。

二、靜態聚合碼

正常來講:支付寶和微信的二維碼是不互通的,支付寶不會支持微信的二維碼進行付款。而近幾年我們經??吹缴碳屹N出靜態聚合碼,消費者通過這個碼使用微信付款,也可以使用支付寶付款,那么這里面的邏輯是怎樣的呢?

1. 實現原理

任何支付行為都是通過一個支付鏈接來完成,而支付鏈接內容會包括必要信息,如來源、金額、商戶信息等。

而每個支付鏈接只能其對應的服務端處理,即用戶使用支付寶二維碼完成支付行為的,最終付款會指向支付寶的服務端的;而微信二維碼則會指向微信的服務端。

要實現上述的聚合碼付款,那么就需要一個前置的中間環節,需要這樣的一個通用的二維碼來優先判斷付款來源方。在技術實現上會有userAgent來判斷用戶來自哪種客戶端。如果是MicroMessenger 則表示微信;AlipayClient是支付寶。

1) 時序圖如下

2) 大概流程圖

  • 用戶通過微信/支付寶掃描靜態聚合碼;
  • 系統判斷掃碼來源是微信還是支付寶;技術層面一般會用userAgent進行區分;
  • 確認來源后請求對應的渠道,如確認是支付寶,則直接請求支付寶進行支付即可;
  • 支付完成,異步通知商戶對應的支付結果;

聚合二維碼的推出,的確提高用戶和商戶的便利性;同時也會幫助商戶實現統一對賬功能,解決財務上對賬難的煩惱。

三、條碼互聯互通

1. 背景

中國人民銀行印發銀發【2019】209號文件,明確指出要推動條碼支付互聯互通。簡單的講就是以后要推動支付寶app可以去掃微信二維碼進行付款啦。

部分文件內容如下:

2. 互聯互通的價值

央行主推條碼業務進行互聯互通,至少有三個價值點:

1)為商家和用戶提供便利

對于商家而言,無需在提供一堆不同的二維碼,也無需中間的聚合服務商賺差價;對于用戶而言,也無需識別區分是何種二維碼,打開app掃一掃就對了。

2)梳理規范,降低風險

更多二維碼交易,將會通過銀聯/網聯進行清算,交易更加規范和統一,有利于風險共享和識別,對監管有利;降低聚合支付的市場空間,有利于保持秩序。

3)打破市場競爭壁壘,更加有利于公平

相對更公平一些,而市場格局不會發生太大變化。同樣的,在“斷直連”之后對于市場格局也并未影響支付寶微信的市場份額。

支付互聯互通之后,那么更多拼的是服務和價值;誰的服務好,提供的價值多,誰就能占據更多的用戶。

3. 如何實現互聯互通

清算機構:是指銀聯和網聯這兩家具有資金清算能力的機構,簡稱央媽的一胎和二胎。每天資金的清結算均有這兩家處理,所有的支付公司、銀行都會在清算機構里面開立賬戶。

實現互聯互通,我認為至少要做好以下兩件事情:

  1. 清算機構重新制定支付二維碼規范;所有支付機構和銀行均得統一參與;
  2. 不同支付機構的二維碼要互認互掃。就是支付寶掃碼發現是微信支付鏈接,不能直接屏蔽告訴用戶不能支付,而是要繼續完成支付,最后將用戶的賬戶資金扣減。

說明:

  • 打開支付寶掃一掃功能去掃微信付款碼;
  • 商家層面會請求所對接的支付機構進行預下單處理,如微信;
  • 支付寶層面受理到該微信支付鏈接,則允許支付寶用戶下單支付;
  • 用戶端完成支付寶扣款100元(以100為例);商家層面提示微信收款完成,并記賬100元;
  • 清算機構準實時給支付寶、微信調賬處理。微信加100元;支付寶減100元;清分完畢!

4. 資金怎么流向

在資金流層面,基本有一條恒定規則:用戶哪款app去付款,就是扣誰的錢;

舉例:就算是實現互認互掃之后,用戶用支付寶掃微信商家收款碼;那么扣款對象一定是用戶支付寶賬戶,而收款對象為微信商家。

示例展示如下圖所示:

  • 用戶用支付寶付款,對應支付寶賬戶減少100元;
  • 清算機構會對支付寶、微信等支付機構進行調賬調整通知,分別是:支付寶在清算機構的賬戶減少100元,微信對應的賬戶增加100元;
  • 微信在清算機構的賬戶余額增加100元,則對應給其商戶賬戶增加100元。最終實現資金對平。

四、小結

聊到這里,掃碼支付的出現,已經極大的方便了用戶的付款操作,讓我們大步踏向“無現金”時代啦。

同時為了更清楚闡述掃碼支付,我們現在再追本溯源一下,掃碼支付的本質到底是什么呢?造就它的底層是什么呢?

其實就是快捷支付。

因為快捷的簽約綁卡后,通過簡單的驗證就可以完成扣款操作;這種便利性造就了掃碼支付的繁榮,也會造就后續刷臉支付的繁榮。

作為文章的結尾,再送上自己對于這個拆解主題的產品思考,分為5個維度:

1)梳理產品的應用場景,建立概念模型;即我們在哪些場景使用掃碼支付的,這個場景的表述決定用戶對產品的接受程度。

2)確立產品價值;掃碼支付已經成為最主流付款方式,與生活密不可分,提高付款效率,這是掃碼支付的產品價值;但掃碼背后的邏輯大家都會比較忽視,而將它呈現出來讓更多感興趣的人理解,這也是文章的最大價值。

3)拆解業務流程的關鍵角色;關注產品的參與角色方,是讓我們快速了解產品的關鍵點;比如掃碼支付的關鍵角色:用戶端、商戶端、微信端/支付寶端、清算機構。只有拆解這些,整個的思路會更清晰。

4)確立產品核心流程,以及底層技術的實現方式。首先確立產品層面的核心流程。即:根據關鍵角色之間會如何形成交互關聯,信息傳遞的;哪些信息的關聯是這個業務不會變的?比如普通掃碼支付和靜態聚合碼支付的相同點是什么,這個相同點就是業務所不變的。而底層的技術考慮主要是方便驗證產品思路的可行性。

5)簡化呈現出來。對于一件事情真正弄懂的關鍵判斷條件之一,就是:盡可能將原本復雜的底層邏輯簡化為形象簡單的事情表述出來,用戶聽的越清楚,則表明自己懂的越透徹。

 

作者:JANMING;公眾號:產品思考隨筆

本文由 @JANMING 原創發布于人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 代付、快捷、網銀、掃碼這些產品有什么區別

    來自廣東 回復
  2. 通俗易懂,很受益 ,謝謝分享

    來自廣東 回復
  3. 結尾贊??

    來自上海 回復
  4. 那么問題來了,用戶A在支付寶被扣的錢,商家b也是在支付寶收錢。那么錢都是歸支付寶管理,那支付寶為什么要扣了錢后給微信加錢呢?

    來自湖南 回復
    1. 主動是不可能的,這時就需要央媽來定規矩了,既可實現監管需要,又可以謀求統一

      來自江蘇 回復
    2. 都是用支付寶付款和加款是跟微信沒關系呀

      回復
    3. 你邏輯有問題

      來自廣東 回復
    4. 注意用戶支付的平臺和收款商戶的收款的平臺啦
      情景一:用戶A使用支付寶掃支付寶的商家碼,資金都是支付寶管理,不需要清帳;
      情景二:用戶B使用支付寶掃了微信的商家碼,并支付100元,為了讓兩個資金的流向層面互通,支付寶用戶C的支付寶賬號減少了100,微信商家的微信賬戶自然需要增加了100元的。

      來自內蒙古 回復
  5. 更多咨詢,請查收個人公眾號:產品思考隨筆

    回復