丨原理解讀如何第三方支付的業(yè)務(wù)邏輯和系統(tǒng)組件_第1頁
丨原理解讀如何第三方支付的業(yè)務(wù)邏輯和系統(tǒng)組件_第2頁
丨原理解讀如何第三方支付的業(yè)務(wù)邏輯和系統(tǒng)組件_第3頁
丨原理解讀如何第三方支付的業(yè)務(wù)邏輯和系統(tǒng)組件_第4頁
丨原理解讀如何第三方支付的業(yè)務(wù)邏輯和系統(tǒng)組件_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

所以,接下來我們先搞懂支付涉及的金融原理,然后按照架構(gòu)由簡到難的順序,逐步學(xué)習(xí)點(diǎn)券系統(tǒng)、支付系統(tǒng)和第支付公司的支付系統(tǒng)。這樣你就能理解支付系統(tǒng)是如何遵循金融原理,一步一步從簡單的幾個(gè)組件發(fā)展到全面的系統(tǒng)架構(gòu)了。那說到業(yè)務(wù)原理,在支付業(yè)務(wù)中最的概念是信息流與流分離。那什么是信息流和流呢?用一句話來概括,信息流指的是想象中錢的流轉(zhuǎn)過程,流指的是錢的實(shí)際具體怎么理解呢?我給你舉一個(gè)簡單的例假設(shè)你(用戶A)和你的朋友(用戶B)做生意。你的銀行賬戶里有一塊錢。白天的時(shí)候,你給你朋友轉(zhuǎn)了一塊錢。但是你并沒有把錢實(shí)際轉(zhuǎn)給你朋友,而是給你朋友一張字條,上面記下了你轉(zhuǎn)給你朋友一塊錢。同樣的,你朋友過了一會兒也通過字條轉(zhuǎn)回給了你一塊錢。在白天倆就這么來回轉(zhuǎn)來轉(zhuǎn)去。到了晚上你和你朋友對了一下白天所有的,發(fā)現(xiàn)你一共要轉(zhuǎn)給你朋友51元,而你朋友一共需要轉(zhuǎn)給你50元。顯然倆之間的這50元是可以互相抵消掉的。抵消之后,你只需要給你朋友轉(zhuǎn)一塊錢就一塊錢的使用權(quán)。這種使用權(quán)的轉(zhuǎn)移過程就是信息流。只有晚上倆對完賬,并通過銀行轉(zhuǎn)完賬之后,這一塊錢的所有權(quán)才真正屬于你朋友。這種所有權(quán)的轉(zhuǎn)移過程就是流。順便提一下,我們一節(jié)課介紹跨行轉(zhuǎn)賬時(shí)提到了中心和央行。這個(gè)例子中用字條轉(zhuǎn)賬的過程就是中心每天做的事情,最后通過銀行轉(zhuǎn)賬的過程就是央行在做的事情。當(dāng)然了,原理只是說信息流和流可以分離,通常這兩者也是處在分離的狀態(tài)。但是它們倆不一定需要分離,比個(gè)實(shí)時(shí)的概念,可以實(shí)時(shí)保證信息流和流一致?,F(xiàn)代支付系統(tǒng)中普遍采用了信息流和流分離的做法,這里的原因有很多。如果從系統(tǒng)架構(gòu)的角度分析,我們會發(fā)現(xiàn),實(shí)時(shí)清結(jié)算對軟件系統(tǒng)的吞吐量和延時(shí)要求非常高,同時(shí)還要求所有參與的支付公司都具有實(shí)時(shí)清結(jié)算能力,任何一家達(dá)不到都不行。第一,支付環(huán)節(jié)的非銀行參與者只能產(chǎn)生信息流,不能產(chǎn)生流。這是因?yàn)榇蠖鄶?shù)金融所謂合久必分,分久必合。雖然信息流和流分開了,但它們倆最終還是需要同步的。同步的過程就需要再次和銀行系統(tǒng)進(jìn)行對接。這意味著支付系統(tǒng)需要通過網(wǎng)關(guān)的形式與外這意味著支付系統(tǒng)從本質(zhì)上是一個(gè)異步處理系統(tǒng),流和信息流的統(tǒng)一具有最終一致(EventualConsistency)。這就是為什么在掃碼支付狀態(tài)拉取時(shí),銀行對接是異步消息第三,流和信息流最終需要同步,即需要一個(gè)核算系統(tǒng)來確認(rèn)同步過程準(zhǔn)確無誤好了,講到這里,你應(yīng)該理解了支付系統(tǒng)架構(gòu)的原理,就是內(nèi)部信息流系統(tǒng)與外部資在點(diǎn)券系統(tǒng)里流和信息流是一致的。這是金融業(yè)務(wù)最簡單的情況,也是所有相關(guān)架構(gòu)現(xiàn)在我們假設(shè)只有代金券這一種點(diǎn)券,而且你只能使用代金券來產(chǎn)品具體的流程是這樣的。首先,業(yè)務(wù)系統(tǒng)需要發(fā)起一筆訂單:用戶A用10元的代金券從用戶B一支筆。訂單接下來會變成支付訂單。支付訂單只記錄了用戶賬號的變動關(guān)系,不包含物品交換的關(guān)系。簡單來說,訂單包括財(cái)產(chǎn)交換和物品交換兩種信息,支付訂單只包含財(cái)產(chǎn)交換的信息。這筆支付訂單會發(fā)給支付系統(tǒng)。支付系統(tǒng)在收到這筆支付訂單后,需要對用戶A及用戶的代金券賬號進(jìn)行處假設(shè)最開始用戶A擁有100元代金券,用戶B擁有10元代金券。那么在后,用戶的代金券賬號需要減少10的代金券,同時(shí)用戶B代金券賬號需要增加10的券好了,到目前為止,我們可以看到,支付過程至少需要3個(gè)系統(tǒng)業(yè)務(wù)系統(tǒng),負(fù)責(zé)生易訂單和支付訂單支付網(wǎng)關(guān),負(fù)責(zé)處理支付訂點(diǎn)券支付到這里就結(jié)束了。但是作為一個(gè)完整的系統(tǒng)好像還缺了些什么功能。比如,在用代金券支付完成后,用戶可能需要檢查自己的代金券余額,以及與代金券相關(guān)的賬單。所以我們還需要一個(gè)查詢系統(tǒng)來完成相關(guān)的查詢。另外從產(chǎn)品體驗(yàn)角度看,現(xiàn)在的系統(tǒng)還有一點(diǎn)不足:用戶B并不知道自己賬戶收到了點(diǎn)券。這時(shí)候及時(shí)通知用戶B是一個(gè)更合適的產(chǎn)品設(shè)計(jì)。這時(shí)還需要一個(gè)賬戶變動的通賬務(wù)系統(tǒng)、查詢系統(tǒng)以及消息系統(tǒng)處理的都是用戶的點(diǎn)券數(shù)據(jù)。很顯然,數(shù)據(jù)傳輸除了上圖這種基于服務(wù)的實(shí)現(xiàn)方式外,還可以直接通過數(shù)據(jù)庫。所以在實(shí)現(xiàn)的時(shí)候有兩種不同選擇,如下圖所示:剛才我給你講過了信息流和流一致的點(diǎn)券系統(tǒng)。但現(xiàn)實(shí)中,絕大多數(shù)支付業(yè)務(wù)場景是流和信息流不一致的情況。所以你必須知道,什么樣的架構(gòu)系統(tǒng),才能處理好信息流與流不一致的情況。接下來我們來看一個(gè)典型的例子——公司的支付系統(tǒng)公司一般沒有第支付牌照,需要通過支付系統(tǒng)來對接第支付公司。支付系統(tǒng)負(fù)責(zé)的業(yè)務(wù)種類也非常多。我們講講最常用的業(yè)務(wù),通過第支付完成的支付這個(gè)例子也和前面一樣,用戶A用10元錢從用戶B那里一支筆。區(qū)別是這次用戶用付款,而不是用點(diǎn)券在推導(dǎo)系統(tǒng)架構(gòu)之前,我們照例先做業(yè)務(wù)分析。是屬于用戶所有的資產(chǎn),公沒有權(quán)力處理。所以這個(gè)資產(chǎn)只能通過第支付公司進(jìn)行操作(其實(shí)是通過第三方公司背后的銀行及卡組織)。另外,第公司提供的API接口都是異步的。異步接口除了常見的成功和失敗兩種狀態(tài)外,還有第三種狀態(tài),那就是不確定狀態(tài)。這就意味著點(diǎn)券系統(tǒng)到支付系統(tǒng)的架構(gòu)演進(jìn)其實(shí)是從同步系統(tǒng)到異步系統(tǒng)的演進(jìn)。我們還是按照業(yè)務(wù)流程逐步分析,看看基礎(chǔ)的4個(gè)系統(tǒng)之上,還缺了哪些功能,需要增加和點(diǎn)券系統(tǒng)一樣,業(yè)務(wù)系統(tǒng)還是照例發(fā)起一筆支付訂單給支付網(wǎng)關(guān):用戶A將上的10元轉(zhuǎn)給用戶B。不同點(diǎn)在于,支付網(wǎng)關(guān)在收到這筆支付訂單后,需要判斷支付系統(tǒng)能否獨(dú)立完成資產(chǎn)的轉(zhuǎn)移。點(diǎn)券這種內(nèi)部資產(chǎn)是可以內(nèi)部解決的,但是屬于用戶,是外部資產(chǎn),支付系統(tǒng)不能自主解決。處理組件。因此,這里我們還需要增加內(nèi)部和外部資產(chǎn)管理系統(tǒng)兩個(gè)組件,如下圖所示左邊是前面介紹的點(diǎn)券系統(tǒng)的架構(gòu)圖,你可以對比看外部資產(chǎn)管理系統(tǒng)需要對接第支付公司來完成轉(zhuǎn)賬業(yè)務(wù)。這個(gè)對接任務(wù)通過金融網(wǎng)關(guān)來實(shí)現(xiàn)。金融網(wǎng)關(guān)主要是實(shí)現(xiàn)二進(jìn)制協(xié)議的對接,比如簽名、加、協(xié)議傳輸、數(shù)據(jù)校驗(yàn)等。通常金融網(wǎng)關(guān)會對接多家第支付公司或者銀行。這樣當(dāng)一家支付公司臨時(shí)連接不上時(shí)可以切換到下一家,或者當(dāng)一家支付公司費(fèi)率相對較優(yōu)時(shí)可以臨時(shí)切換。選擇哪一家支付公司來對接的過程也叫作路由,通過當(dāng)前情況智能選擇路由的過程叫智能路由。因此,架構(gòu)圖上需要再增加一個(gè)金融網(wǎng)關(guān)服務(wù):需要注意的是,金融網(wǎng)關(guān)和第支付公司之間走的是異步通訊協(xié)議。前面講過,異步通不確定狀態(tài)的處理方法分為兩步。第一步是在規(guī)定時(shí)間內(nèi)重復(fù)查詢支付狀態(tài),一般把這種行為叫作輪詢。我們一節(jié)課提到的用戶App通過輪詢來獲取支付狀態(tài),這是同一個(gè)道理。規(guī)定時(shí)間內(nèi)的輪詢?nèi)绻。Ц哆^程并不一定失敗,我們還有補(bǔ)救的機(jī)會。每天晚上電商公司會有一個(gè)與第機(jī)構(gòu)進(jìn)行對賬的機(jī)會,在這個(gè)時(shí)候雙方會對白天所有交互的明細(xì)進(jìn)行對比,查漏補(bǔ)缺。我們在這里溫下前面講過的信息流與流的分離。在的場景下,支付系統(tǒng)的外部資產(chǎn)管理系統(tǒng)處理的是信息流,金融網(wǎng)關(guān)對接的第支付公司處理的是流。信息流和流分離之后,兩者的狀態(tài)就不再一致。所以從信息流系統(tǒng)角度來看,流系統(tǒng)會存在不確定的狀態(tài),這就是為什么除了成功和失敗以外,會出現(xiàn)第三種狀態(tài)的原因。信息流和流雖然分開了,最終它們還是需要同這就是由支付業(yè)務(wù)原理所推導(dǎo)出的系統(tǒng)架構(gòu)設(shè)計(jì)原的相關(guān)信息,所以也無法處理和流的同步。其實(shí)到這里還沒有結(jié)束。我們面提到過如果輪詢失敗,需要在晚上與第支付公司進(jìn)行對賬。這個(gè)對賬的任務(wù)一般是由核算系統(tǒng)來完成的。除了和第公司進(jìn)行對賬之外,核算系統(tǒng)還需要核對賬務(wù)系統(tǒng)與業(yè)務(wù)系統(tǒng)之間的一致性關(guān)系。添加了核算系統(tǒng)的架構(gòu)圖如支付系統(tǒng)大的架構(gòu)演進(jìn)到這一步,就基本上能滿足公司常用的支付需求了最后我們來重點(diǎn)講講第支付系統(tǒng)。第支付系統(tǒng)和公司的支付系統(tǒng)的組件都差不多,主要是因?yàn)樗鼈儌z都不能管理實(shí)際,因此都是信息流的處理系統(tǒng)。公司會通過支付系統(tǒng)將信息流交給第支付系統(tǒng)處理。第支付系統(tǒng)會將這個(gè)信 的時(shí)候我們甚至還能看到不同國家第支付公司那相同的地方我就不復(fù)述了。這里我重點(diǎn)講三點(diǎn)不同,分別是流量支持、池和系系統(tǒng)的流量支第支付公司有很多家客戶,有可能會非常大的支付流量。舉個(gè)例子,比如第支付公司負(fù)責(zé)代發(fā)工資或者代繳水電費(fèi),一到月底就會非常大的流量。除了這些可以預(yù)測的高流量外,第支付公司還可能會促銷這種非常突然的高支付流量。所以第支付公司需要有能力處理這種常見的互聯(lián)網(wǎng)應(yīng)用高并發(fā)問題。這里就是金融系統(tǒng)架構(gòu)和互聯(lián)網(wǎng)架構(gòu)結(jié)合得非常好的地方。應(yīng)對高并發(fā)場景,互聯(lián)網(wǎng)有非常成解決方案。比如我們前面提到的異步消息處理,就能削峰填谷,降低峰值流量的壓力。如果流量再高,還可以選擇熔斷降流等來進(jìn)行服務(wù)降級。如果能力支撐不了這么高流量,還可以使用各種不同的緩存技術(shù)降低查詢操作對數(shù)據(jù)庫的壓力,或者使用分庫分表的方式來進(jìn)一步降低每個(gè)數(shù)據(jù)庫上面的壓力。備付金第支付公司在調(diào)用銀行接會產(chǎn)生費(fèi)用。我接下來給你講講如何利用備付金資金池減少一些費(fèi)用,同時(shí)還能提高用戶體驗(yàn)。池是一種常見的用戶管理。池就是將屬于用戶的錢都放在一個(gè)大的池子里。池子里的錢不分你我,你是將池看作一個(gè)整體來操作的。但是你還留著一個(gè)賬本,上面記載了每個(gè)人原來在池里放了。這樣雖然錢是混在一起,但是賬面上池有很大的挪用風(fēng)險(xiǎn),因此金融業(yè)對池的設(shè)立有很嚴(yán)格的。一般有了支付牌照之后,第公司才可以建立用戶的備付金池。備付金池是一種新的金融你在用第支付公司Ap的時(shí)候應(yīng)該見過一種叫作余額或者錢包的東西。你可以將銀行卡里的錢轉(zhuǎn)到余額賬戶。之后就可以直接使用余額里的錢。但是第支付公司并不一定會將你和我的余額分開,很有可能是放在一個(gè)池里處理。比如下圖展示了一種池的管理方式。ABCD四個(gè)用戶在第支付公司都有自己的余額賬戶。但是這4個(gè)余額賬戶并不是實(shí)際存在的,只是4個(gè)虛擬賬戶而已。真正的錢其實(shí)第二個(gè)例子是第一個(gè)例子的升級版。我們在上一節(jié)課外匯市場是一個(gè)一個(gè)有層級的市場。池也一樣,多個(gè)池也可以拼成一個(gè)更大的池。于是第支付公司可以在多家銀行開設(shè)很多池賬戶,所有這些池賬戶的錢形成更大的池(機(jī)構(gòu)正在逐步限制這種行為)。當(dāng)把池分散在多家銀行之后,第支付公司就不再受制于單獨(dú)某家銀行。這樣就可舉個(gè)例子,比如跨行轉(zhuǎn)賬需要多家銀行之間配合,還可能需要支付一定的跨行費(fèi)用。但是如果第支付公司在每家銀行都有池,就可以直接在兩家銀行內(nèi)部完成用戶資金和池之間的操作了。利用池來優(yōu)化跨行轉(zhuǎn)賬的例子也有升級版。在進(jìn)行貿(mào)易的時(shí)候也可以使用多個(gè)資金池來降低成本,但這不是主要原因。轉(zhuǎn)賬一個(gè)不太友好的問題是時(shí)間非常久,需要好幾天才能到賬。這時(shí)候如果你在每家銀行都有池賬號,轉(zhuǎn)賬問題就變成多備付金池要求賬務(wù)系統(tǒng)有層級式的賬戶體系,并且有相應(yīng)的賬戶和操作。升級版的池看起來是下圖這個(gè)樣子:清結(jié)算清結(jié)算中心處理的是多家銀行之間的跨行轉(zhuǎn)賬。當(dāng)?shù)谥Ц豆居辛硕鄠€(gè)池之后,這些池之間的轉(zhuǎn)賬關(guān)系其實(shí)和跨行轉(zhuǎn)賬一樣。既然是一樣的,那么第支付公司有沒有可能做一些公司的事情,從而進(jìn)一步降低成本呢?的確如此。所以成第支付公司內(nèi)部都會有一個(gè)自己的中心。這個(gè)中心把自己當(dāng)作一個(gè)外人,對池之間的轉(zhuǎn)賬進(jìn)行清結(jié)算工作。這里要注意中心的結(jié)算過程涉及到流操作,需要通過內(nèi)部支付網(wǎng)關(guān)來操作外部。這樣我們就把第支付公司最后一個(gè)組件補(bǔ)完了?,F(xiàn)在的架構(gòu)圖如下跨銀行備付金和中心合在一起后,第支付機(jī)構(gòu)就具備了跨行的能力。由于這種業(yè)務(wù)模式不容易,容易出現(xiàn)洗錢等行為,國家已經(jīng)逐步取消了這種管理模但是中心這個(gè)組件還是保留了下來。盡管不能再進(jìn)行跨行,不過有了中心之后就有了的概念,這讓一些常見的內(nèi)部信息流和流處理的方式變得更加清晰。這個(gè)例子告訴我們,由于條例在不斷完善,支付業(yè)務(wù)和系統(tǒng)架構(gòu)也要隨之改變。比如你在歐洲從事第支付業(yè)務(wù)的時(shí)候,很有可能會碰到歐盟制定的“通用數(shù)據(jù)保護(hù)條例”,這就要求你對系統(tǒng)架構(gòu)的信息做進(jìn)一步的劃分。因此我們在設(shè)計(jì)支付系統(tǒng)的時(shí)候,需要根據(jù)當(dāng)時(shí)當(dāng)?shù)氐臈l例合理選擇架構(gòu)。這節(jié)課我們一起梳理了支付業(yè)務(wù)邏輯,最終推導(dǎo)出C端支付組件C端支付需要解決的問題是信息流與流分離。我們先分析了最簡單的點(diǎn)券系統(tǒng),這種系統(tǒng)信息流與流不分離。點(diǎn)券系統(tǒng)需要賬務(wù)系統(tǒng)來對點(diǎn)券這種資產(chǎn)進(jìn)行管理,用那流與信息流分離的系統(tǒng)又是啥樣的呢?的支付系統(tǒng)就很有啟發(fā)性。點(diǎn)券系統(tǒng)需要處理的同步消息,支付系統(tǒng)則需要處理異步消息。所以支付系統(tǒng)除了需要復(fù)用點(diǎn)券系統(tǒng)的組件外,還需要核算系統(tǒng)來保證異步消息的正確處理。有了前面的基礎(chǔ),再去分析第支付系統(tǒng)的組件就很容易了。第支付在業(yè)務(wù)上需要用池來降低業(yè)務(wù)成本,因此在架構(gòu)上需要有組件來對池進(jìn)行操作,同時(shí)也需要用中心來簡化池操作的優(yōu)化管理。這節(jié)課的知識點(diǎn)整體的結(jié)構(gòu)圖如現(xiàn)在越來越普遍了。通過,一位中國買家可以一支在銷售的鉛筆,這時(shí)買家付的是,但是賣家收到的卻是。假設(shè)支持外匯業(yè)務(wù)的第支付公司自己擁有大量的和儲備,可以在外匯支付過程中充當(dāng)買家和買家共同的對手方,即買家的支付給公司,隨即公司自己擁有的支付給賣家那么為了支持外匯業(yè)務(wù),支付公司的架構(gòu)應(yīng)該怎么做調(diào)整 不得售賣。頁面已增加防盜追蹤,將依 上一 01|業(yè)務(wù)初探:掃 下一 03|產(chǎn)品大觀:不同金融業(yè)務(wù)都有哪些技術(shù)實(shí)現(xiàn)要點(diǎn)言精選留言言來。對于普通機(jī)構(gòu),比如,物流就是真實(shí)的商品或者服務(wù);而對于金融機(jī)構(gòu),物流蛻…展3 139展作者回復(fù):LeeR你好。記賬方式涉及到賬戶體系和記賬規(guī)則。這一塊屬于賬務(wù)業(yè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論