南通颐猩文化传播有限公司

當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

在線支付系統(tǒng)的流程和概念探討

 2017-04-18 14:58  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

我們以收銀臺為例,詳細說明支付的正確打開方式。 當(dāng)用戶提交訂單后,就會被引導(dǎo)到收銀臺上。 以某東為例,手機上是這樣的:

PC上是這樣的:

從這里我們可以看出,用戶進入收銀臺之后,首先需要選擇默認的支付方式。

支付方式指消費時付款的方式,比如現(xiàn)金支付、貨到付款、信用卡支付、借記卡支付、掃碼支付等。

那么有哪些支付方式適合在收銀臺上展示出來? 這就是支付應(yīng)用和支付方式的關(guān)系。在這里,收銀臺是一類支付應(yīng)用。

支付應(yīng)用指提供給最終用戶在特定場景下使用的產(chǎn)品,比如掃碼收銀、二維碼支付、打賞、眾籌、POS支付、生活繳費、信用卡返款、手機充值等。 這些應(yīng)用是建立在支付產(chǎn)品的基礎(chǔ)之上,直接面向最終的用戶提供服務(wù)。

每個支付應(yīng)用可以用的支付方式是不一樣的。比如說,掃碼收銀,可能僅支持微信和支付寶。POS支付,僅支持銀行卡。而信用卡返款,只能從其他的借記卡上去扣款。 支付應(yīng)用的設(shè)計和公司的業(yè)務(wù)有關(guān),并需要考慮在公司業(yè)務(wù)場景下的用戶支付體驗。目前應(yīng)用最全的數(shù)支付寶,可以參觀下支付寶的應(yīng)用(截止至2017年2月15日):

在收銀臺這個應(yīng)用中,在呈現(xiàn)支付方式時,哪些支付方式可以提供給當(dāng)前場景下的用戶來使用,哪個方式應(yīng)該排在前面,這在支付系統(tǒng)中,是通過引導(dǎo)路由來實現(xiàn)的。

引導(dǎo)路由是根據(jù)支付應(yīng)用、收款商戶、訂單額度等信息來決定提供給用戶的支付方式列表。

當(dāng)用戶選擇一種支付方式并提交支付后,支付系統(tǒng)開始執(zhí)行扣款。比如用戶選擇通過招行來支付,系統(tǒng)就會請求招行來扣款嗎? 這不一定,因為系統(tǒng)有可能并沒有接入到招行接口。除了招行自己的接口外,第三方支付公司、銀聯(lián)等,也可以從招行卡上扣款。那應(yīng)該使用哪個通道合適? 這是通過支付路由來決定的。

支付路由指根據(jù)用戶選擇的支付方式,結(jié)合費率、QOS等因素,選擇合適的銀行或者其他公司提供的支付接口來完成資金轉(zhuǎn)移操作。

通過支付路由,我們可以定位到一個落地來執(zhí)行的支付接口。

支付接口,指由銀行提供的用來執(zhí)行支付的接口。這里要注意,對于同一家銀行,除了總行可以提供一個接口,各地的分行也可以提供這個接口。 但一般來說,同一家銀行的接口規(guī)范是一樣的,不同的是提供接口的服務(wù)器、費率、性能等。

比如,支付公司可以接入工行總行、工行上海分行、工行北京分行的接口。為什么要接入分行呢? 一般來說,不少分行會提供更優(yōu)惠的接入費率,以及經(jīng)常會舉辦一些活動來吸引用戶接入。

支付通道,這是對支付接口的一個封裝,包含合作銀行以及通道成本、商戶費率、QOS等信息;

銀行和第三方支付等渠道提供給電商公司使用的接口,往往都會封裝成支付產(chǎn)品。

支付產(chǎn)品指將支付通道打包成滿足某特定支付場景需求的商品,比如信用卡快捷、信用卡Moto等。

在這里我們把涉及到的幾個概念都做了定義。 當(dāng)然,這些定義僅僅是從約定俗成的角度來描述,不具有學(xué)術(shù)意義。 不同的公司,對這些名稱叫法還不完全一致。 比如支付通道,有些叫渠道,有些公司叫網(wǎng)關(guān)。這里統(tǒng)一一下稱呼,避免混淆。 總的來說,支付系統(tǒng)是把支付通道提供的“支付產(chǎn)品” 使用支付路由來封裝成業(yè)務(wù)需要的“支付產(chǎn)品”。這就是支付的核心流程。支付路由在其中起著關(guān)鍵作用。

參與者

支付系統(tǒng)會涉及到如下參與者。

客戶

客戶指與某個商家有交易關(guān)系并且存在未清償?shù)膫鶛?quán)和債務(wù)關(guān)系的一方。 客戶使用自己擁有的支付工具來發(fā)起支付,是支付操作運作的發(fā)起者之一。在交易中,也成為交易主體。

商家

商家是擁有債權(quán)的商品出售者,他根據(jù)客戶發(fā)起的支付指令向支付系統(tǒng)發(fā)起請求,要求獲取資金。 商家需要獲取和支付系統(tǒng)接入的權(quán)限,一般是在服務(wù)器端和支付系統(tǒng)交互。

客戶開戶行

也成為發(fā)卡行、發(fā)卡機構(gòu)等。 指客戶擁有賬戶的支付渠道。 客戶需要使用支付渠道所支持的支付工具來發(fā)起支付。這個工具也意味著一種信用,保證支付工具的兌付。

商戶開戶行

指商家用來接受資金的賬戶的所在銀行。 商戶將客戶指令提交給其開戶行后,由開戶行發(fā)起支付授權(quán)的請求進行銀行間清算的工作。 商家開戶行是根據(jù)商家提供的賬單工作的,也成為收單機構(gòu)。

運營人員

支付系統(tǒng)的運營人員除了常規(guī)的業(yè)務(wù)拓展外,還負責(zé)對支付業(yè)務(wù)狀態(tài)進行監(jiān)測,配置和管理渠道的密碼秘鑰、對賬處理等日常工作。

風(fēng)控人員

一般風(fēng)控和運營是分開的。 風(fēng)控人員負責(zé)每天審核被攔截的交易的情況,發(fā)現(xiàn)可能潛在的風(fēng)險,配置風(fēng)控規(guī)則,確保支付系統(tǒng)的資金安全。

財務(wù)會計

和錢打交道,在任何公司,都跑不掉財務(wù)部門。 那財務(wù)部門會關(guān)注哪些內(nèi)容? 當(dāng)然,最重要的是賬務(wù)信息。 所有的交易都要記賬,按要求公司都需要定期做審計,每一筆帳都不能出錯。這當(dāng)然不能等到審計的時候再去核對,而是每天都需要對賬,確保所有的交易支出相抵,也就是所說的把賬給平了。 這就有三種情況: 電商系統(tǒng)和商家對賬;電商系統(tǒng)和支付系統(tǒng)對賬;支付系統(tǒng)和收單機構(gòu)對賬。在支付系統(tǒng)中,我們僅關(guān)注后兩者的情況。運營人員是和“信息流”打交道,而財務(wù)會計需要和“資金流”打交道,核實每個渠道的資金情況,對備付金按照運營的要求進行充值調(diào)度等。

業(yè)務(wù)流程

我們以電商系統(tǒng)的訂單支付為例,看看支付系統(tǒng)中需要提供的基本功能。

1.用戶提交訂單到電商系統(tǒng),電商系統(tǒng)對訂單進行檢驗,無問題則調(diào)起支付接口執(zhí)行支付。注意這里支付接口是在服務(wù)器端調(diào)起的。一般支付接口很少從客戶端直接調(diào)起。為了安全,支付接口一般要求用HTTPS來訪問,并對接口做簽名。

2.支付系統(tǒng)檢查參數(shù)有效性,特別是簽名的有效性。

3.根據(jù)用戶選擇的支付方式,以及系統(tǒng)支付路由設(shè)置,選擇合適的收單機構(gòu)。這里涉及三個概念,支付方式,支付路由。這又是一個槽點。簡單說,用戶可以選擇各種銀行卡支付,比如寧波銀行卡,但是你的支付系統(tǒng)沒有對接寧波銀行,那對這種卡,可以選擇你接入的,支持這個卡的收單機構(gòu)來執(zhí)行支付,如用微信或者支付寶等等第三方支付,或者銀聯(lián)支付等系統(tǒng)支持的方式來執(zhí)行。這就是支付路由,根據(jù)用戶提供的銀行卡來選擇合適的收單機構(gòu)去執(zhí)行支付。常用支付方式還包括第三方支付,如微信支付寶等,這種情況下就不需要支付路由了。

4.調(diào)用收單接口執(zhí)行支付。這是支付系統(tǒng)的核心。每個公司的收單接口都不一樣,接入一兩個收單機構(gòu)還好,接入的多了,如何統(tǒng)一這些接口,就是一個設(shè)計難點。

5.支付成功,收單機構(gòu)把錢打到商戶的賬戶上了。 商家就準備發(fā)貨了。 怎么發(fā)貨,不是本文的重點。 這里關(guān)注的要點是, 商家能收到多少錢? 比如100塊錢的商品,用戶支付了100塊錢(運費、打折等另算),這100塊錢,還要刨去電商系統(tǒng)的傭金、支付通道的手續(xù)費,才能最終落到商家手里。

這是個Happy流程,一切看起來都很美好,但實際上步步都是坑,一旦有地方考慮不周全,輕者掉單頻發(fā),重者接口被盜刷,損失慘重。

  • 如何避免攻擊者修改支付接口參數(shù), 比如100塊錢的東西,改成10塊錢?
  • 調(diào)用收單接口來執(zhí)行最終實際支付時,如果支付失敗了,比如卡上沒錢了,怎么辦?
  • 收單接口把賬戶上的錢扣走了,但是通知支付系統(tǒng)的時候出錯了(比如網(wǎng)絡(luò)閃斷,或者支付系統(tǒng)重啟了),支付系統(tǒng)不知道這筆交易已經(jīng)達成了,怎么處理?
  • 還有好多問題….

非功能需求

從軟件開發(fā)角度, 還有一些非功能性需求需要實現(xiàn):

  • 性能: 特別是秒殺的時候,如何滿足高頻率的支付需求?
  • 可靠性:不用說,系統(tǒng)能達到幾個9,是衡量軟件設(shè)計功力的重要指標。 99%是基礎(chǔ), 99.999%是目標,更多的9哪就是神了。
  • 易用性:支付中多一個步驟,就會流失至少2%的用戶。 產(chǎn)品經(jīng)理都在削尖腦袋想想怎么讓用戶趕*錢。
  • 可擴展性: 近年來支付業(yè)務(wù)創(chuàng)新產(chǎn)品多,一元購、紅包、打賞等,還有各種的支付場景。 怎么能夠快速滿足產(chǎn)品經(jīng)理的需求,盡快上線來搶占市場,可擴展性對支付系統(tǒng)設(shè)計也是一個挑戰(zhàn)。
  • 可伸縮性:為了支持公司業(yè)務(wù),搞一些促銷活動是必須的。 那促銷帶來的爆發(fā)流量,最佳應(yīng)對方法就是加機器了。 平時流量低,用不了那么多機器,該釋放的就釋放掉了, 給公司省點錢。

這里從流程和概念的角度分析支付系統(tǒng)應(yīng)該支持的基礎(chǔ)功能。 后續(xù)我們將以此為基礎(chǔ),探討支付系統(tǒng)的設(shè)計。

【本文為51CTO專欄作者“鳳凰牌老熊”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號“鳳凰牌老熊”聯(lián)系作者本人】

戳這里,看該作者更多好文

 

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標簽
在線支付

相關(guān)文章

熱門排行

信息推薦