支付系統(tǒng)設(shè)計(jì)白皮書(shū):從收單網(wǎng)關(guān)及交易服務(wù)解析交易系統(tǒng)

7 評(píng)論 17157 瀏覽 160 收藏 17 分鐘
🔗 B端产品需要更多地依赖销售团队和渠道合作来推广产品,而C端产品需要更多地利用网络营销和口碑传播来推广产品..

收單網(wǎng)關(guān)的設(shè)計(jì)要素包含:業(yè)務(wù)方、用戶、業(yè)務(wù)系統(tǒng)、支付系統(tǒng)。

收單網(wǎng)關(guān)

收單網(wǎng)關(guān)是平臺(tái)方支付系統(tǒng)和用戶/商戶的PC、移動(dòng)APP所使用的外部網(wǎng)絡(luò)之間的接口,為支付系統(tǒng)操作將外網(wǎng)傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為系統(tǒng)內(nèi)部數(shù)據(jù),同時(shí)負(fù)責(zé)將平臺(tái)業(yè)務(wù)系統(tǒng)的內(nèi)部請(qǐng)求轉(zhuǎn)化為支付系統(tǒng)的內(nèi)部數(shù)據(jù)。

收單網(wǎng)關(guān)的職責(zé)為支付平臺(tái)化后,系統(tǒng)內(nèi)部接口不可對(duì)外,因此所有外部系統(tǒng)需要通過(guò)統(tǒng)一的網(wǎng)關(guān)接口調(diào)用支付平臺(tái);由網(wǎng)關(guān)進(jìn)行一系列格式校驗(yàn)、參數(shù)校驗(yàn)、業(yè)務(wù)調(diào)用權(quán)限檢查后再向支付進(jìn)行轉(zhuǎn)發(fā)。

收單網(wǎng)關(guān)設(shè)計(jì)要素包含:

業(yè)務(wù)方:指業(yè)務(wù)平臺(tái)??筛鶕?jù)公司業(yè)務(wù)規(guī)模大小、業(yè)務(wù)領(lǐng)域或公司主體等維度,對(duì)對(duì)接的業(yè)務(wù)方進(jìn)行區(qū)分,接入后這些業(yè)務(wù)方即成為支付平臺(tái)的收單商戶,使用平臺(tái)支付產(chǎn)品實(shí)現(xiàn)其收付費(fèi)功能需求;

用戶:業(yè)務(wù)平臺(tái) C 端用戶,可根據(jù)業(yè)務(wù)方進(jìn)行劃分;

業(yè)務(wù)系統(tǒng):業(yè)務(wù)端的業(yè)務(wù)系統(tǒng);

支付系統(tǒng):支付清結(jié)算平臺(tái)。

收單網(wǎng)關(guān)流程

  • 構(gòu)造請(qǐng)求信息:業(yè)務(wù)系統(tǒng)根據(jù)支付系統(tǒng)提供的接口規(guī)則構(gòu)造請(qǐng)求信息,例如支付下單、取消訂單、退款等等;
  • 發(fā)送請(qǐng)求信息:把構(gòu)造好的信息發(fā)送到指定的地址;
  • 處理請(qǐng)求信息:支付系統(tǒng)會(huì)得到請(qǐng)求的數(shù)據(jù)信息,按照預(yù)定的驗(yàn)簽,業(yè)務(wù)參數(shù)校驗(yàn)等一系列驗(yàn)證通過(guò)后,將請(qǐng)求的數(shù)據(jù)信息對(duì)業(yè)務(wù)(對(duì)應(yīng)支付、取消、充值等等)進(jìn)行處理;
  • 返回響應(yīng)信息:支付系統(tǒng)會(huì)以同步和異步兩種處理方式,返回業(yè)務(wù)數(shù)據(jù)處理結(jié)果;一般情況下,同步通知僅代表請(qǐng)求處理成功,業(yè)務(wù)訂單處理狀態(tài)會(huì)以異步通知的形式主動(dòng)回調(diào)用戶在下單的時(shí)候設(shè)置的異步回調(diào)地址,通知業(yè)務(wù)方時(shí)若得不到業(yè)務(wù)方的響應(yīng)信息值「success」,支付系統(tǒng)會(huì)重復(fù)若干次(按照一定的頻次配置),以防止掉單現(xiàn)象;若業(yè)務(wù)方戶不設(shè)置,則不會(huì)通知;

業(yè)務(wù)系統(tǒng)收到異步通知后,結(jié)合自身的業(yè)務(wù)規(guī)則改變支付單狀態(tài),進(jìn)行如訂單狀態(tài)更新等業(yè)務(wù)處理。

接口定義

  • 業(yè)務(wù)系統(tǒng)和支付系統(tǒng)之間通過(guò) https 協(xié)議來(lái)進(jìn)行通信,接口以 URL 的形式提供并以 post 的請(qǐng)求方式進(jìn)行處理;
  • 文檔的接口包括兩種:服務(wù)接口和通知接口;
  • 服務(wù)接口由支付系統(tǒng)提供,供業(yè)務(wù)方調(diào)用;
  • 通知接口由業(yè)務(wù)方提供,供支付系統(tǒng)調(diào)用;
  • 雖然通知接口由業(yè)務(wù)方提供,但是仍由支付系統(tǒng)制定接口規(guī)范;
  • 服務(wù)接口包括接口說(shuō)明中的所有接口信息,通知接口目前僅包括交易狀態(tài)和退款狀態(tài)的通知等。

接口設(shè)計(jì)說(shuō)明

  • 基本請(qǐng)求接口:所有請(qǐng)求接口都要加上基本請(qǐng)求參數(shù),例如接口名稱、版本、App ID、簽名、簽名方式、同步跳轉(zhuǎn)地址等關(guān)鍵信息,當(dāng)發(fā)起調(diào)用時(shí),所有業(yè)務(wù)接口都會(huì)加上該接口參數(shù),可參考支付寶和微信等第三方支付公司的接口參數(shù)定義。
  • 服務(wù)請(qǐng)求接口:根據(jù)支付系統(tǒng)本身的能力抽象出的業(yè)務(wù)接口,給到外部業(yè)務(wù)方進(jìn)行調(diào)用。
  • 即時(shí)到賬交易網(wǎng)關(guān)接口:買家在業(yè)務(wù)系統(tǒng)中選擇購(gòu)買商品下單,付款成功后金額直接入賣家賬戶。
  • 擔(dān)保交易網(wǎng)關(guān)接口:買家在業(yè)務(wù)系統(tǒng)中選擇購(gòu)買商品下單,有部分金額為擔(dān)保金額,買家付款成功后,擔(dān)保部分進(jìn)入平臺(tái)方賬戶,未擔(dān)保金額直接入賣家賬戶。
  • 結(jié)算(分賬)網(wǎng)關(guān)接口:買家使用擔(dān)保交易下單付款完成,在收到貨物后,將擔(dān)保金額結(jié)算給賣家。
  • 繼續(xù)支付網(wǎng)關(guān)接口:買家在支付頁(yè)面未成功支付,需要在業(yè)務(wù)系統(tǒng)中繼續(xù)支付時(shí),調(diào)用該接口。
  • 退款網(wǎng)關(guān)接口:買賣雙方在達(dá)成退款協(xié)議后,可針對(duì)及時(shí)到賬交易,訂金下定等已支付交易 由業(yè)務(wù)系統(tǒng)發(fā)起退款請(qǐng)求。
  • 交易查詢網(wǎng)關(guān)接口:因?yàn)槟骋环皆颍?可能導(dǎo)致業(yè)務(wù)方在預(yù)期時(shí)間內(nèi)都收不到最終支付通知, 此時(shí)業(yè)務(wù)方可以通過(guò)該接口來(lái)查詢訂單的詳細(xì)支付狀態(tài)。
  • 通知接口:根據(jù)業(yè)務(wù)方提供的通知地址,將支付結(jié)果等信息返回給業(yè)務(wù)方

①交易狀態(tài)變更通知:通知業(yè)務(wù)方時(shí),接口信息里面會(huì)傳遞業(yè)務(wù)訂單號(hào)、交易訂單號(hào)、狀態(tài)、金額、時(shí)間等相關(guān)信息,以便業(yè)務(wù)方能更好的做業(yè)務(wù)處理;

a.交易狀態(tài):交易訂單的狀態(tài);

  1. 等待買家付款
  2. 付款成功
  3. 交易成功
  4. 交易結(jié)束
  5. 交易關(guān)閉

②退款狀態(tài)變更通知:通知業(yè)務(wù)方時(shí),接口信息里面會(huì)傳遞原始業(yè)務(wù)訂單號(hào)、退款業(yè)務(wù)訂單號(hào)、退款交易訂單號(hào)、狀態(tài)、金額、時(shí)間等相關(guān)信息,以便業(yè)務(wù)方能更好的做業(yè)務(wù)處理;

a.退款狀態(tài):退款訂單的狀態(tài);

  1. 退款成功
  2. 退款失敗

交易服務(wù)

交易服務(wù)的作用

  • 將支付系統(tǒng)的支付能力抽象出來(lái),提供各類交易方式,例如下單、支付、修改金額、確認(rèn)結(jié)算、退款、關(guān)閉交易、查詢等標(biāo)準(zhǔn)接口,對(duì)外輸出收單網(wǎng)關(guān);
  • 基于收付款方的交易鏈業(yè)務(wù)路抽象交易類型、交易產(chǎn)品以滿足不同業(yè)務(wù)方各類交易場(chǎng)景的需求;
  • 鑒權(quán)校驗(yàn)、交易結(jié)果通知;
  • 對(duì)接業(yè)務(wù)方。

擔(dān)保收單交易

①擔(dān)保交易:用戶在業(yè)務(wù)平臺(tái)中選擇某商家的商品進(jìn)行購(gòu)買,支付完成后該筆訂單資金進(jìn)入平臺(tái)的擔(dān)保賬戶,等到用戶確認(rèn)收貨后,將該筆訂單的資金結(jié)算給對(duì)應(yīng)商家賬戶;此交易類型也可以適用于一些具備結(jié)算周期等時(shí)間屬性的業(yè)務(wù)當(dāng)中,通過(guò)網(wǎng)關(guān)的擔(dān)保收單接口和結(jié)算接口做到由業(yè)務(wù)方靈活控制結(jié)算賬期。
②流程

③擔(dān)保交易設(shè)計(jì)

定義擔(dān)保交易產(chǎn)品代碼,標(biāo)識(shí)此類交易訂單的類型。擔(dān)保交易分為下單支付和結(jié)算兩個(gè)環(huán)節(jié):

  • 第一個(gè)環(huán)節(jié)為下單環(huán)節(jié),交易參與雙方當(dāng)中付款人是用戶,收款人則是平臺(tái)在支付系統(tǒng)內(nèi)部開(kāi)設(shè)的一個(gè)擔(dān)保賬戶,擔(dān)保賬戶屬于內(nèi)部的一個(gè)結(jié)算過(guò)渡戶,代表著這錢(qián)是要給出去的,時(shí)候時(shí)候給出去基于業(yè)務(wù)方的指令來(lái)決定。
  • 第二個(gè)環(huán)節(jié)在發(fā)起結(jié)算的時(shí)候,確認(rèn)之前這筆擔(dān)保交易訂單需要和商戶進(jìn)行最終結(jié)算,此時(shí)基于業(yè)務(wù)方調(diào)用結(jié)算接口,交易參與雙方當(dāng)中新增兩條收付款人記錄,付款人為擔(dān)保賬戶,收款人為該筆訂單的商戶;最終資金以內(nèi)部戶轉(zhuǎn)賬的形式將擔(dān)保賬戶中該筆訂單資金,轉(zhuǎn)給實(shí)際收款的商戶賬戶。

即時(shí)到賬交易

即時(shí)到賬交易即用戶在平臺(tái)上選擇商品購(gòu)買并支付,付款的資金立馬結(jié)算到商家的收款賬戶中。

例如,早期支付寶 PC 端的即時(shí)到賬產(chǎn)品,用戶通過(guò) PC 網(wǎng)銀即時(shí)到賬產(chǎn)品付款后,單筆交易即時(shí)結(jié)算到了商戶的平臺(tái)賬戶中,由此可得:

  • 若支付寶不墊資,則即時(shí)到賬底層包裝接口的銀行為 T+0 給到支付寶;
  • 若支付寶墊資,則銀行資金未結(jié)算前,支付寶將備付金賬戶中的存量資金為商戶的平臺(tái)賬戶進(jìn)行結(jié)算。

即時(shí)到賬交易與業(yè)務(wù)場(chǎng)景息息相關(guān),在某些非擔(dān)保流程中,若用戶付款后需要立馬進(jìn)行履約的情況,則適合即時(shí)到賬產(chǎn)品,例如各平臺(tái)的會(huì)員產(chǎn)品購(gòu)買場(chǎng)景。

①流程

②即時(shí)到賬的設(shè)計(jì)要點(diǎn)

  • 定義擔(dān)保交易產(chǎn)品代碼,標(biāo)識(shí)此類交易訂單的類型;
  • 和擔(dān)保收單的區(qū)別,在于即時(shí)到賬產(chǎn)品沒(méi)有單獨(dú)的結(jié)算環(huán)節(jié);在下單的時(shí)候,接口參數(shù)里包含分潤(rùn)參數(shù),當(dāng)交易發(fā)起時(shí)就需要業(yè)務(wù)方算出該筆訂單分潤(rùn)收款主題數(shù)、確定好用戶的 UID(給誰(shuí)充值)、賬戶類型(給什么賬戶充值)、金額等參數(shù);
  • 分潤(rùn)原則:先收錢(qián)再分錢(qián)且收到金額 ≥ 分潤(rùn)總金額,即先入后出、收大于等于付。

充值交易

充值交易即用戶對(duì)賬戶余額進(jìn)行充值,一般運(yùn)用于充值虛擬幣、錢(qián)包余額等產(chǎn)品。用戶對(duì)賬戶余額進(jìn)行充值,一般運(yùn)用于充值虛擬幣、錢(qián)包等產(chǎn)品,首先需要對(duì)充值的兩種做法做一個(gè)區(qū)分。

  • 業(yè)務(wù)平臺(tái)充值
  • 支付平臺(tái)充值

例如,在用戶感知層面,早期的支付寶與淘寶不分你我,支付寶像是為淘寶定制的專屬錢(qián)包,但實(shí)際上用戶在支付寶充值的余額與淘寶業(yè)務(wù)并無(wú)關(guān)聯(lián);而騰訊的虛擬貨幣 Q 幣則是由業(yè)務(wù)端發(fā)起的交易,因此與業(yè)務(wù)平臺(tái)具有強(qiáng)關(guān)聯(lián)性。因此基于支付平臺(tái)的兩種做法,一種是基于支付平臺(tái)的賬戶做充值,另一種是基于業(yè)務(wù)平臺(tái)做充值。

①流程

②充值交易的設(shè)計(jì)要點(diǎn):

  • 首先定義充值產(chǎn)品的產(chǎn)品代碼;
  • 業(yè)務(wù)端充值(虛擬幣):此類產(chǎn)品虛幣賬戶體系獨(dú)立于支付系統(tǒng);
  1. 充值和虛擬幣的消費(fèi)業(yè)務(wù)端完全閉環(huán),由支付系統(tǒng)內(nèi)部針對(duì)該充值業(yè)務(wù)開(kāi)設(shè)一個(gè)統(tǒng)一的收款賬戶,結(jié)算時(shí)通過(guò)支付系統(tǒng)提供的入賬記資金分潤(rùn),適用于直播、視頻等純互聯(lián)網(wǎng)虛擬業(yè)務(wù);
  2. 接口定義:下單支付接口;
  3. 優(yōu)勢(shì):開(kāi)發(fā)成本低,實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單、可快速實(shí)現(xiàn)業(yè)務(wù);
  4. 劣勢(shì):賬務(wù)不清晰,流程不統(tǒng)一、有一定資金風(fēng)險(xiǎn)。
  • 支付系統(tǒng)充值:通過(guò)支付系統(tǒng)賬戶體系實(shí)現(xiàn),所有充值資金通過(guò)錢(qián)包收銀臺(tái)或支付系統(tǒng)的充值網(wǎng)關(guān)接口實(shí)現(xiàn);
  1. 錢(qián)包收銀臺(tái):充值行為發(fā)生在支付系統(tǒng)體系內(nèi)(參考前文中講到的支付寶邏輯)且獨(dú)立于業(yè)務(wù)平臺(tái)。原則上當(dāng)公司業(yè)務(wù)規(guī)模擴(kuò)大,不同的 App 統(tǒng)一接入支付系統(tǒng)時(shí),獨(dú)立的錢(qián)包賬戶余額應(yīng)可同時(shí)支持不同業(yè)務(wù)的賬戶支付需求。例如,美團(tuán)賬戶余額充值的資金同時(shí)適用于美團(tuán)外賣、點(diǎn)評(píng)等,此時(shí)美團(tuán)的錢(qián)包已經(jīng)是擁有獨(dú)立賬戶體系的產(chǎn)品,接入各業(yè)務(wù)平臺(tái)僅需不同業(yè)務(wù)端識(shí)別用戶的唯一標(biāo)識(shí)即可;
  2. 充值網(wǎng)關(guān)接口:針對(duì)于業(yè)務(wù)方發(fā)起的充值行為,各個(gè)業(yè)務(wù)平臺(tái)自己本身具備充值業(yè)務(wù)需要支付體系的賬戶能力提供支持。通過(guò)網(wǎng)關(guān)充值(入口在業(yè)務(wù)端)且可以滿足各個(gè)業(yè)務(wù)方不同賬戶類型的訴求,需要每個(gè)業(yè)務(wù)方在用戶發(fā)起充值時(shí),充值至用戶在此業(yè)務(wù)下開(kāi)設(shè)的對(duì)應(yīng)虛擬賬戶,例如 B 站的 B 幣、金瓜子等,就來(lái)源于不同的業(yè)務(wù)方開(kāi)設(shè)的不同虛幣賬戶;
  3. 接口定義:充值接口(賬戶類型、uid、金額、支付方式等);
  4. 優(yōu)勢(shì):資金賬戶清晰、流程標(biāo)準(zhǔn)化、所有支付、賬戶由支付系統(tǒng)控制,資金安全有一定保證;
  5. 劣勢(shì):開(kāi)發(fā)成本高,實(shí)現(xiàn)起來(lái)相對(duì)復(fù)雜。

出款交易

出款也稱之為提現(xiàn)。用戶基于自己賬戶余額發(fā)起提現(xiàn),一般電商平臺(tái)涉及到的場(chǎng)景為 C端用戶的錢(qián)包賬戶余額提現(xiàn)和B端用戶收益賬戶的余額提現(xiàn),是將資金從平臺(tái)的虛幣賬戶轉(zhuǎn)移用戶外部賬戶的過(guò)程。具體分類可分為出款到卡及出款到賬戶。
①流程

②出款交易的設(shè)計(jì)要點(diǎn):
定義產(chǎn)品碼,可以拆分為出款到卡出款到賬戶等不同的產(chǎn)品,針對(duì) B 端商戶的提現(xiàn)交易記錄,原則上最好單獨(dú)用表單顯示;按照流程圖所示,提現(xiàn)時(shí)首選要做好余額校驗(yàn)動(dòng)作;

  1. 出款到賬戶:目前常見(jiàn)的場(chǎng)景為用戶發(fā)起提現(xiàn)到支付寶或者微信賬戶,接入支付寶微信等第三方支付公司的付款產(chǎn)品即可滿足此需求,業(yè)務(wù)端需做好用戶端的第三方賬號(hào)信息采集,用戶發(fā)起提現(xiàn)的時(shí)將賬戶等相關(guān)信息上傳至第三方等待出款結(jié)果即可;根據(jù)業(yè)務(wù)模式,針對(duì) B 端商戶提現(xiàn)時(shí),優(yōu)先做實(shí)名認(rèn)證再發(fā)起提現(xiàn),且發(fā)起提現(xiàn)的賬戶信息和實(shí)名認(rèn)證信息一致為佳,再根據(jù)業(yè)務(wù)端需求判斷是否有針對(duì) C 端用戶做實(shí)名認(rèn)證處理的必要;
  2. 出款到卡:和付款到賬戶的主流程沒(méi)有太大區(qū)別,但一般情況下需要商戶端采集用戶銀行卡信息,因此需要將支付系統(tǒng)中存儲(chǔ)銀行卡相關(guān)的數(shù)據(jù)(卡 Bin 信息、城市、省份等),并對(duì)業(yè)務(wù)? 端提供綁定、查詢等接口為佳,這樣用戶前端綁卡時(shí)無(wú)論是卡 Bin 接口驗(yàn)證,還是前端做選擇輸入銀行都能擁有較好的體驗(yàn)。*提現(xiàn)到銀行卡需要接入對(duì)應(yīng)的銀行卡出款渠道。

 

《支付系統(tǒng)設(shè)計(jì)白皮書(shū)》由 PingPlusPlus支付學(xué)院(ID:pingxxpi)出品。

本文由 @支付學(xué)院 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)允許,禁止轉(zhuǎn)載。

題圖來(lái)自 Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 為什么第一張時(shí)序圖有詳解,第二張沒(méi)有捏~
    求指點(diǎn)(第二張時(shí)序圖也想看各步驟的詳細(xì)說(shuō)明

    來(lái)自北京 回復(fù)
  2. 接口設(shè)計(jì)說(shuō)明中提到的接口,與上述收單網(wǎng)關(guān)中的服務(wù)接口、通知接口之間的關(guān)系是什么?
    我理解結(jié)算(分賬)網(wǎng)關(guān)接口應(yīng)該與收單是兩個(gè)模塊??

    來(lái)自北京 回復(fù)
  3. 回復(fù)
  4. 白皮書(shū)這個(gè)系列有點(diǎn)虛,脫離實(shí)際

    來(lái)自浙江 回復(fù)
    1. 白皮書(shū)比較適合 0 基礎(chǔ)的從業(yè)人員,建立一個(gè)完整的支付系統(tǒng)認(rèn)知,如果您覺(jué)得與實(shí)際結(jié)合得不夠深,您應(yīng)該已經(jīng)是比較資深的從業(yè)人員了。

      來(lái)自上海 回復(fù)
  5. 結(jié)算之前會(huì)有一次檢驗(yàn)

    回復(fù)
  6. 好東西,一定要支持啊。

    來(lái)自上海 回復(fù)