第三方支付架构设计之—帐户体系
原文地址:http://blog.csdn.net/tenfyguo/article/details/41660281
第三方支付架構(gòu)設(shè)計(jì)之—帳戶體系
一,????? 什么是第三方支付?
? ? ? ? 什么是第三方支付?相信很多人對這個(gè)名字很熟悉,不管是從各種媒體等都經(jīng)常聽到,可以說是耳熟能熟。但,如果非得給這個(gè)名詞總結(jié)出一個(gè)概念,卻發(fā)現(xiàn)很難準(zhǔn)確和全面的表述清楚。不過關(guān)系不大,我們無法給出一個(gè)很準(zhǔn)確的概念的時(shí)候,我們就列舉一下實(shí)際生活中我們經(jīng)常使用第三方支付的例子:支付寶,財(cái)付通,微信支付等等,這些就是我們國內(nèi)目前在第三方支付市場中比較有影響力的第三方支付了。
? ? ? ?搜索一下百度,所謂第三方支付,就是一些和產(chǎn)品所在國家以及國外各大銀行簽約、并具備一定實(shí)力和信譽(yù)保障的第三方獨(dú)立機(jī)構(gòu)提供的交易支持平臺。
在通過第三方支付平臺的交易中,買方選購商品后,使用第三方平臺提供的賬戶進(jìn)行貨款支付,由第三方通知賣家貨款到達(dá)、進(jìn)行發(fā)貨;買方檢驗(yàn)物品后,就可以通知付款給賣家,第三方再將款項(xiàng)轉(zhuǎn)至賣家賬戶。
?從這個(gè)概念中,有幾個(gè)關(guān)鍵點(diǎn):
1,???????需要跟各個(gè)銀行簽約,那么問題是第三方支付跟銀行的關(guān)系是什么?
2,???????用戶通過第三方支付平臺進(jìn)行支付,那么資金是如何進(jìn)入第三方支付平臺的?
3,???????商戶通過接入第三方支付平臺進(jìn)行收款,那么資金最終又是如何結(jié)算給到商戶的?
? ? ? ? 因此,我們要充分理解第三方支付平臺,得從用戶,支付平臺,商戶,當(dāng)然還有背后的銀行和監(jiān)管機(jī)構(gòu)等進(jìn)行全面分析,只有充分理解這些關(guān)系,才能對第三方支付的賬戶體系有充分的理解和掌握,從而充分理解支付中的資金流。
? ? ? ? ?我們知道,隨著電子商務(wù)在中國的迅速崛起,電子商務(wù)必須要解決幾個(gè)非常關(guān)鍵的問題,那就是:信息流,資金流和物流,信息流一般是通過電子商務(wù)平臺進(jìn)行解決,包括用戶信息,商品,商戶和訂單等,而資金流,即支付和結(jié)算等相關(guān)方面一般是通過第三方支付平臺進(jìn)行解決,第三方支付植入到電商平臺中,幫助電商平臺解決資金在用戶和商戶之間的流轉(zhuǎn),甚至在c2c交易中,第三方支付還起到了中介擔(dān)保賬戶的作用;而物流,是解決物品如何送到用戶手中的問題,各種物流公司或者電商自建物流網(wǎng)絡(luò)等都是解決物流相關(guān)的解決方案,對信息流和物流,我們這里不進(jìn)行展開,本章重點(diǎn)側(cè)重資金流的流轉(zhuǎn)。
?
二,????? 什么是賬戶?
? ? ? ? ?從會計(jì)學(xué)上來看,賬戶是根據(jù)會計(jì)科目設(shè)置的,具有一定格式和結(jié)構(gòu),用于分類反饋會計(jì)要素增加變動情況及其結(jié)果的載體。設(shè)置賬戶是會計(jì)核算的重要方法之一。
同會計(jì)科目分類相對應(yīng),賬戶按其提供的信息詳細(xì)程度和統(tǒng)馭關(guān)系不同分為總賬賬戶和明細(xì)賬戶,請注意,在設(shè)計(jì)IT賬戶系統(tǒng)中,總賬戶和明細(xì)賬戶是非常重要的概念,后面會重點(diǎn)分析。
? ? ? ? ?而按照賬戶反映的經(jīng)濟(jì)內(nèi)容不同可分為資產(chǎn)類賬戶,負(fù)債類賬戶,所有者權(quán)益類賬戶,成本費(fèi)用類賬戶,損益類賬戶。
那么什么是會計(jì)要素?主要有6個(gè)方面:資產(chǎn),負(fù)債,所有者權(quán)益,利潤,費(fèi)用,收入。
? ? ? ? 賬戶是有結(jié)構(gòu)和內(nèi)容的,賬戶分為左方,右方兩個(gè)方向,一個(gè)登記增加,另外一方登記減少。賬戶的內(nèi)容包括了賬戶的名稱,記錄經(jīng)濟(jì)業(yè)務(wù)的日期,所依據(jù)記賬憑證的編號,經(jīng)濟(jì)業(yè)務(wù)摘要,借貸金額和余額等。
? ? ? ? 那么如何設(shè)計(jì)一個(gè)賬戶呢?從賬戶的結(jié)構(gòu)和內(nèi)容分析,一個(gè)賬戶需要記錄賬戶變動的過程等,即借貸方向均需要進(jìn)行記錄,這里一般是通過賬戶流水來實(shí)現(xiàn),即出入流水,同時(shí),賬戶是記錄會計(jì)要素變動結(jié)果的,因此需要根據(jù)變動的最終結(jié)果進(jìn)行記錄,即賬戶的余額。
賬戶 = 賬戶流水 + 賬戶余額
在具體實(shí)現(xiàn)中,系統(tǒng)對賬戶流水的操作和余額的操作必須是一個(gè)事務(wù),即入流水必然導(dǎo)致賬戶余額的增加,出流水必然導(dǎo)致余額的減少。
那么有一個(gè)問題:借貸方向和賬戶流水的進(jìn)出有什么關(guān)系?很多人很容易,把賬戶流入,即增加部分記為借,而把賬戶流產(chǎn),即減少部分記為貸,但其實(shí)是不嚴(yán)謹(jǐn)?shù)?#xff0c;或者是錯誤的(下面將重點(diǎn)介紹)。
?
三,賬戶的基本內(nèi)容和結(jié)構(gòu)
在賬戶的核算中,賬戶一般簡化為“T”字賬的形式,即包括賬戶名稱,借方,貸方,發(fā)生額,借貸方余額和賬戶余額等。如下圖:
賬戶的內(nèi)部對賬是:在一個(gè)指定的核算周期內(nèi),保證余額和流水的一致性。
(如果具體實(shí)現(xiàn)是通過db的事務(wù)機(jī)制,則DB本身就可以保證兩者的一致性,如果不是,比如即流水,異步落地余額的情況,則需要按每天根據(jù)流水對余額進(jìn)行調(diào)整或者糾正)
賬戶的外部對賬是:保證賬戶操作的流水跟外部系統(tǒng)相關(guān)依賴流水的一致性。
?
四,????? 借貸復(fù)試記賬法
? ? ? ? 所謂復(fù)試記賬法就是針對發(fā)生的每項(xiàng)經(jīng)濟(jì)業(yè)務(wù)都要以相等金額在相互聯(lián)系的兩個(gè)或者兩個(gè)以上有關(guān)賬戶中進(jìn)行同時(shí)登記的記賬方法。而借貸記賬法是復(fù)試記賬法的一種,它是以“資產(chǎn)=負(fù)債+所有者權(quán)益”為依據(jù),以“借“和”貸”為記賬符號,以“有借必有貸,借貸必須相等”為記賬規(guī)則的一種復(fù)試記賬方法。
? ? ? ?借貸記賬法的記賬符號就是“借”和“貸”,用來反映經(jīng)濟(jì)業(yè)務(wù)增減變化的方向而已,本身沒有特別的意義,在實(shí)際的操作中,我們把賬戶的左方規(guī)定記為借方,右方規(guī)范記為貸方,在任何一筆經(jīng)濟(jì)業(yè)務(wù)中,都必須同時(shí)登記相關(guān)賬戶的借方和貸方。
???? 我們知道,每個(gè)賬戶都有借方和貸方,用來記錄其對應(yīng)經(jīng)濟(jì)業(yè)務(wù)的增減變化情況,那么哪一方登記增減,哪一方登記減少,則是要根據(jù)對應(yīng)賬戶的經(jīng)濟(jì)性質(zhì)決定的,即賬戶相對會計(jì)主體來說,是屬于什么類型的賬戶。
1,????????資產(chǎn)類賬戶
資產(chǎn)類賬戶,資產(chǎn)的增加登記賬戶的借方,資產(chǎn)的減少登記在賬戶的貸方,期末有余額,一般出現(xiàn)在借方。在一個(gè)會計(jì)期間,所有借方金額的累加為“借方本期發(fā)生額”,所有貸方金額的累加為“貸方本期發(fā)生額”。而資產(chǎn)賬戶的余額=借方期初余額+借方本期發(fā)生額-貸方本期發(fā)生額。
如,本人在招商銀行賬戶A存入1000元,那么該如何記賬呢?首先,我們要分析本人在招行的這個(gè)賬戶的性質(zhì),由于這是本人存儲在招行的一筆資產(chǎn),所以該賬戶對應(yīng)我這個(gè)會計(jì)主體來說,是一個(gè)資產(chǎn)類賬戶,因此記賬的借貸方向需要按照資產(chǎn)類賬戶的要求來進(jìn)行,即增加記為借,減少記為貸。根據(jù)分析,本人存入1000到賬戶A,記賬如下:
借:銀行存款? 1000元? (資產(chǎn)類賬戶,銀行賬戶增加了1000元)
????? 貸: 庫存現(xiàn)金?1000元。(資產(chǎn)類賬戶,手中現(xiàn)金減少了1000元)
2,????????負(fù)債類賬戶
負(fù)債類賬戶的記賬規(guī)則跟資產(chǎn)類相反,負(fù)債增加記為貸,負(fù)債減少記為借,期末如有余額,一般在貸方,表明期末有債務(wù)實(shí)有額,負(fù)債類賬戶的余額計(jì)算:
?????????貸方期末余額=貸方期初余額+貸方本期發(fā)生額-借方本期發(fā)生額。
?
3,????????所有者權(quán)益類賬戶
所有者權(quán)益類賬戶的記賬規(guī)則跟負(fù)債類賬戶一致:所有者權(quán)益增加記為貸,減少記為借。
4,????????費(fèi)用成本類賬戶
企業(yè)在日常經(jīng)營活動中會發(fā)生各種各樣的耗費(fèi),這些耗費(fèi)在會計(jì)學(xué)上稱為成本費(fèi)用,它們是收入的抵減項(xiàng)目,在抵銷收入之前,可以視為一種資產(chǎn),因此成本費(fèi)用類賬戶的記賬規(guī)則跟資產(chǎn)類一樣:增加記為借,減少或者轉(zhuǎn)銷記為貸,一般借方記錄的增加額都要通過貸方轉(zhuǎn)出,所有此類賬戶在期末轉(zhuǎn)銷后無余額,如有余額,出現(xiàn)在借方。
5,????????收入類賬戶
??? 企業(yè)取得的收入最終會使得所有者權(quán)益增加,因此收入類賬戶的記賬方法跟所有者權(quán)益一致:增加記為貸,減少或者轉(zhuǎn)銷記為借,通常該賬戶期末無余額(因?yàn)槠谀┦杖攵紩D(zhuǎn)為所有者權(quán)益,如未分配利潤等)
?????????至此,一個(gè)賬戶的增加或者減少記為借還是記為貸,是跟該賬戶反映的經(jīng)濟(jì)內(nèi)容有關(guān)系,而不是簡單的增加就一定是借,減少就一定是貸,在實(shí)際的記賬處理中,我們首先需要根據(jù)會計(jì)主體對記賬的賬戶的經(jīng)濟(jì)性質(zhì)進(jìn)行分析,然后按照不同賬戶的記賬規(guī)則進(jìn)行處理即可。
?????????
五,????? 第三方支付賬戶體系介紹
? ? ? ?前面我們從會計(jì)學(xué)的角度分析了賬戶的概念,結(jié)構(gòu)和借貸記賬法等內(nèi)容,而這些基礎(chǔ)知識對我們第三方支付來說是否非常重要的,它是指導(dǎo)我們?nèi)绾胃玫脑O(shè)計(jì)第三方支付中非常重要的---賬戶體系。
第三方支付機(jī)構(gòu)涉及的賬戶類型是否非常多的,筆者根據(jù)主要的場景做了分類,主要有如下幾類賬戶:
1,? 用戶在各個(gè)銀行開通的賬戶。
? ? ? ?這個(gè)概念非常好理解,我們每個(gè)人在相關(guān)銀行開通的儲蓄卡,存折,信用卡等等都是我們在銀行開通的賬戶,在實(shí)際的支付中,用戶銀行賬戶是資金的輸出方,通過銀行系統(tǒng),在用戶授權(quán)的情況下把資金從用戶的銀行卡轉(zhuǎn)移到第三方支付在銀行開通的收款賬戶(見下面說明)
2,? 第三方支付公司在各個(gè)銀行開通的賬戶。
? ? ? ?即第三方支付的銀行賬戶,比如支付寶在招商銀行設(shè)置的收款賬戶。那么第三方支付公司為啥需要在各個(gè)合作銀行設(shè)置賬戶呢?其實(shí)道理非常簡單,第三方支付公司本身畢竟不是銀行,本身是無法直接接觸和管理資金的,真正的資金流是通過銀行系統(tǒng)進(jìn)行的,用戶通過網(wǎng)銀或者快捷支付等支付后,用戶的資金是少了,那么肯定有一個(gè)地方是多的,我們舉一個(gè)例子:小明用支付寶在某商城A買了一件衣服100元,用自己的銀行卡進(jìn)行網(wǎng)上支付,假如小明的銀行卡是招商銀行的,并且支付寶和招商銀行有合作關(guān)系,當(dāng)發(fā)生支付的時(shí)候,其實(shí)支付寶只做了兩個(gè)事情:
l? 在用戶授權(quán)下,調(diào)用銀行接口把錢從用戶的銀行卡轉(zhuǎn)移到支付寶在招商銀行設(shè)置的賬戶上(該賬戶是支付寶專門接受用戶的付款資金的)---由于這步是只發(fā)生在銀行系統(tǒng)之家的,是真實(shí)的資金流。
l? 第1步成功后,支付寶會對商戶A記入一筆入賬:100元(商戶A會在支付寶申請一個(gè)商戶賬戶,類似支付寶在銀行申請一個(gè)賬戶一樣)
從會計(jì)學(xué)的角度分析,支付寶在招商銀行設(shè)置的賬戶對支付寶這個(gè)會計(jì)主體來說,是一筆資產(chǎn)(或者說是銀行欠支付寶的錢),該銀行賬戶是資產(chǎn)類賬戶,而另外一個(gè)方面,商戶A在支付寶設(shè)置的商戶賬戶對支付寶來說是一個(gè)負(fù)債類賬戶(因?yàn)檫@是欠商戶的錢,后續(xù)需要結(jié)算給到商戶),那么上面的支付流程,會計(jì)記賬如下:
? ??????借: 支付寶招行銀行賬戶??100元?? (資產(chǎn)類賬戶,資產(chǎn)增加,記為借)
??????????????? 貸:商戶A支付寶賬戶? 100元? (負(fù)債類賬戶,負(fù)債增加,記為貸)
?
?
2,第三方支付自有賬戶體系
???? 這個(gè)比較復(fù)雜,類似銀行賬戶有對公賬戶和對私賬戶,第三方支付公司也有針對商戶的B賬戶和針對個(gè)人的C賬戶。請注意,第三方支付自有賬戶體系是獨(dú)立第三方支付在銀行申請的賬戶的,是自有的賬戶體系,完成資金在第三方支付體系的閉環(huán)和結(jié)算等,比如財(cái)付通用戶余額,支付寶余額,微信支付余額等都是第三方支付賬戶to client的賬戶。
? ????個(gè)人賬戶,我們稱為c賬戶比較簡單,而商戶賬戶由于涉及到結(jié)算和提現(xiàn)等操作,按照不同的資金類別設(shè)置不同賬戶的設(shè)計(jì)原則,商戶賬戶一個(gè)商戶號其實(shí)對應(yīng)兩個(gè)賬戶:b賬戶和c賬戶,b賬戶是商戶結(jié)算賬戶,用于交易的收款等,商戶本身無法直接操作,是第三方支付進(jìn)行結(jié)算的賬戶,而商戶c賬戶則是商戶可以直接進(jìn)行操作的賬戶,如可以進(jìn)行提現(xiàn),充值和支付等等。
?
3,?? 各個(gè)銀行在第三方支付公司設(shè)置的賬戶
???????? 這個(gè)賬戶是一個(gè)總賬賬戶,一般用于記錄資金進(jìn)入第三方賬戶體系或者資金逃出第三方賬戶體系的,它一般不記錄余額,而只是記錄流水,方便跟各個(gè)銀行進(jìn)行對賬。
六,????? 各種操作的資金流和記賬規(guī)則
1,????????用戶通過銀行卡快捷支付進(jìn)行充值100元。
資金流:資金從用戶銀行卡進(jìn)入第三方支付在對應(yīng)銀行的銀行賬戶,同時(shí)對對應(yīng)的第三方c賬戶記入一筆充值入賬。
借: 第三方支付在銀行的賬戶?? 100元 (資產(chǎn)類賬戶)
??????貸:某用戶在第三方支付的c賬戶? 100元 ?(負(fù)債類賬戶)
?
這個(gè)需要重點(diǎn)分析,其實(shí)這步操作后,資金進(jìn)入了第三方支付的自有賬戶體系中,使得自有賬戶體系的資金盤子增加了100元,在實(shí)際的設(shè)計(jì)中,為了能夠高效跟銀行進(jìn)行對賬,每個(gè)銀行會在第三方支付設(shè)置一個(gè)對應(yīng)的賬戶,我們成為銀行的第三方支付賬戶,比如招行在支付寶的賬戶,用戶通過招行卡支付充值后,除了銀行系統(tǒng)本身的記賬外,第三方支付會在該賬戶同步記錄一筆流水,使得所有通過招行進(jìn)入自有賬戶體系的資金流都可以通過這個(gè)流水看到,我們理解為這個(gè)賬戶是一個(gè)總賬賬戶,各個(gè)用戶的c賬戶是一個(gè)分賬賬戶。
2,????????用戶通過銀行卡快捷支付給商戶A支付100元
資金流:資金從用戶的銀行卡進(jìn)入第三方支付在對應(yīng)銀行的銀行賬戶,同時(shí)對對應(yīng)的商戶A的B賬戶記入一筆支付入賬。
借:第三方支付在銀行的賬戶?100元? (資產(chǎn)類賬戶)
???? 貸:某商戶A的B賬戶?????? 100元?? (負(fù)債類賬戶)
3,????????用戶通過第三方支付余額賬戶提現(xiàn)100到自己的招行卡
資金流:第三方支付首先把該用戶余額的100元先凍結(jié),然后調(diào)用銀行接口,從自己在銀行的賬戶中轉(zhuǎn)賬100元到用戶的招行卡上,成功后,對該用戶的余額凍結(jié)的100元進(jìn)行解凍扣款。
借:某用戶在第三方支付的c賬戶? 100元? (負(fù)債類賬戶)
???? 貸:第三方支付在銀行的賬戶?100元? (資產(chǎn)類賬戶)
可以看出,該步驟的記賬給第一部分的充值時(shí)相反的。
?
4,????????自有賬戶體系的c2c轉(zhuǎn)賬
由于沒有涉及到用戶銀行卡的操作,該部分操作沒有涉及到真正的資金流變動,只是賬務(wù)在第三方支付公司自有賬戶體系的轉(zhuǎn)移而已,即從一個(gè)用戶的c賬戶轉(zhuǎn)移到另外一個(gè)c賬戶,由于c賬戶對第三方支付公司來說,都是負(fù)債類賬戶,因此記賬如下:
借: 轉(zhuǎn)出的c賬戶? 100元 (負(fù)債類賬戶,轉(zhuǎn)出表示負(fù)債減少,記為借)
????貸:收款的c賬戶 100元 (負(fù)債類賬戶,轉(zhuǎn)入表示負(fù)債增加,記為貸)
?
5,????????自有賬戶體系的b2c支付
跟4一樣,沒有涉及到銀行接口的調(diào)用,因此沒有發(fā)生真正的資金流的流動,賬戶只是在第三方支付公司的自有賬戶體系轉(zhuǎn)移而已,即從一個(gè)用戶的c賬戶轉(zhuǎn)移到另外一個(gè)商戶的B賬戶。
記賬如下:
借:支付的c賬戶 100元
????? 貸:收款的商戶B賬戶 100元。
綜上,第三方支付的賬戶體系還是相當(dāng)比較簡單,一般是資產(chǎn)類賬戶和負(fù)債類賬戶比較多,會計(jì)處理上也比較簡單。
總結(jié)
以上是生活随笔為你收集整理的第三方支付架构设计之—帐户体系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第1060期AI100_机器学习日报(2
- 下一篇: 20_java使用谷歌邮箱发送邮件