充值系統(tǒng)業(yè)務(wù)流程分析
充值協(xié)議處理主體流程圖(充值遵守的系統(tǒng)處理原則:先清算,后結(jié)算)
充值協(xié)議處理主體流程圖(充退遵循的系統(tǒng)處理原則:先結(jié)算,后清算)
后結(jié)算處理的充值協(xié)議支付標(biāo)記化系統(tǒng)架構(gòu),如阿里國(guó)際站的小額擔(dān)保交易的使用場(chǎng)景,其處理流程如下:
充值協(xié)議系統(tǒng)架構(gòu)/領(lǐng)域模型
系統(tǒng)整體架構(gòu)
我們從多個(gè)視角來(lái)快速瀏覽支付層的整體系統(tǒng)架構(gòu):
這里需要指出的是,充值協(xié)議不存在支付層處理的時(shí)限性,全部都是實(shí)時(shí)報(bào)送清算層完成的;引入的異步處理類充值協(xié)議并不是非實(shí)時(shí)報(bào)送清算層,而是由于金融機(jī)構(gòu)回執(zhí)給清算層的清算結(jié)果是異步的,進(jìn)而演變?yōu)榍逅慊貓?zhí)異步通知至支付層。
核心業(yè)務(wù)邏輯
用戶進(jìn)入統(tǒng)一收銀臺(tái)界面,選擇了充值渠道以及充值金額,收銀臺(tái)經(jīng)過(guò)規(guī)則檢查(如安全、渠道等)后,向支付層發(fā)起充值協(xié)議申請(qǐng):
清算層在處理完金融機(jī)構(gòu)的清算結(jié)果通知后,回執(zhí)給支付層:
充值指令的狀態(tài)遷轉(zhuǎn)如圖所示:
其中已預(yù)授權(quán)與已預(yù)清算狀態(tài)均為中間狀態(tài),為B2B網(wǎng)銀支付和Migs網(wǎng)銀支付所設(shè)計(jì);實(shí)際情況下已預(yù)清算狀態(tài)不會(huì)遷轉(zhuǎn)至清算失敗狀態(tài),但是在系統(tǒng)設(shè)計(jì)中我們認(rèn)為這樣的狀態(tài)遷轉(zhuǎn)有效;
絕大多數(shù)的充值指令均是從已報(bào)送清算狀態(tài)直接遷轉(zhuǎn)為清算成功或清算失敗狀態(tài)。
充退協(xié)議領(lǐng)域模型模型總覽
在某些特定商業(yè)背景下(如機(jī)票平臺(tái)大客戶的充退需求)必須大客戶一次性對(duì)一筆充值指令的連續(xù)多次充退請(qǐng)求,有如下兩種實(shí)現(xiàn)方式:
方式一:需要清算層在報(bào)送銀行端時(shí)進(jìn)行恰當(dāng)?shù)奶幚恚鐚⒅Ц秾訄?bào)送過(guò)來(lái)的充退清算指令進(jìn)行合并,或采取延遲報(bào)送銀行等手段加以實(shí)現(xiàn);
方式二:產(chǎn)品層加強(qiáng)此類合并充退的組織力度,即支付層、賬務(wù)/會(huì)計(jì)、清算層以及對(duì)賬中心都不為此類業(yè)務(wù)進(jìn)行內(nèi)部業(yè)務(wù)合并,而是交由產(chǎn)品進(jìn)行合并,請(qǐng)求支付層的充退已經(jīng)是合并后的單據(jù);這樣的整體代價(jià)較小,并且提高了核心系統(tǒng)的業(yè)務(wù)處理穩(wěn)定性。
核心業(yè)務(wù)邏輯
前文中提到充退協(xié)議與提現(xiàn)協(xié)議的處理方式極其類似,除了收款方信息用戶無(wú)法指定外,其余部分與提現(xiàn)的現(xiàn)有做法一致;所以此處不再贅述。充退協(xié)議存在時(shí)限性,我們繼續(xù)沿用支付能力可配置的做法,將充退產(chǎn)品與充退協(xié)議實(shí)現(xiàn)松耦合綁定關(guān)系:
充值業(yè)務(wù)邊界分析
系統(tǒng)用例邊界總圖:
業(yè)務(wù)用例邊界總圖
充值業(yè)務(wù)在支付層設(shè)計(jì)的業(yè)務(wù)用例主要包括以下若干模塊:
系統(tǒng)用例邊界
網(wǎng)銀充值協(xié)議申請(qǐng)
代金卡(充值碼)充值協(xié)議申請(qǐng)
代金卡的充值處理中收銀臺(tái)無(wú)需獲取跳轉(zhuǎn)表單對(duì)象;這里有可能是代金卡獨(dú)立業(yè)務(wù)系統(tǒng)已明確了跳轉(zhuǎn)表單對(duì)象,所以這個(gè)充值協(xié)議的處理過(guò)程僅是將支付流水與清算流水記錄即可;等待外部系統(tǒng)對(duì)清算層的回執(zhí)發(fā)生后發(fā)起結(jié)算行為。
快捷充值協(xié)議申請(qǐng)
接受充值清算回執(zhí)
無(wú)清算充值協(xié)議申請(qǐng)
充值后通知事件
所有成功完成的充值協(xié)議,都需要以異步消息方式通知CTU及積分核心系統(tǒng)本充值事件。
支付與清算系統(tǒng)掉單恢復(fù)
對(duì)于實(shí)時(shí)完成支付、清算過(guò)程的充值協(xié)議,需要輔以定時(shí)調(diào)度任務(wù)恢復(fù)系統(tǒng)響應(yīng)超時(shí)的掉單充值指令。
充值協(xié)議查詢
用以解釋當(dāng)前充值訂單處理狀態(tài),當(dāng)清算層push相關(guān)信息至收銀臺(tái)后,收銀臺(tái)使用此服務(wù)獲知處理結(jié)果并顯示用戶。
預(yù)結(jié)算充退協(xié)議申請(qǐng)
后結(jié)算充退協(xié)議申請(qǐng)
針對(duì)諸如Migs的渠道,支付層提供了后結(jié)算充退協(xié)議供使用;與預(yù)結(jié)算充退協(xié)議不同處在于完全依賴清算層的回執(zhí)才進(jìn)行賬務(wù)扣款,并且不存在凍結(jié)、解凍以及失敗回充的動(dòng)作。
異步充退推進(jìn)調(diào)度
使用分布式任務(wù)組件,作為異步充退推進(jìn)處理的調(diào)度策略,需完成結(jié)算、清算;調(diào)度任務(wù)中只負(fù)責(zé)識(shí)別出當(dāng)前待推進(jìn)處理的指令集合,交由獨(dú)立門面服務(wù)進(jìn)行上述處理;此門面服務(wù)需要對(duì)外開放,如系統(tǒng)約定對(duì)于大客戶充退申請(qǐng)的處理時(shí)限,業(yè)務(wù)部門可能對(duì)其進(jìn)行臨時(shí)干預(yù),要求立即完成清算,把這個(gè)服務(wù)釋放出去,供管理平臺(tái)調(diào)用。
異步充退超時(shí)調(diào)度
處于結(jié)算成本以及客戶引導(dǎo)的原因,結(jié)算人員對(duì)客戶發(fā)起某些金融機(jī)構(gòu)下的充退是不給予處理的;同時(shí)某些充退在申請(qǐng)時(shí)其通道是可用的,而推進(jìn)處理時(shí)則發(fā)現(xiàn)通道已關(guān)閉,此類充退指令則一直處于待推進(jìn)狀態(tài)。為此類申請(qǐng)?jiān)O(shè)置超時(shí)時(shí)間,如7日內(nèi)仍處于申請(qǐng)狀態(tài)的,則將其充退凍結(jié)款項(xiàng)進(jìn)行解凍處理。
接收充退清算回執(zhí)
當(dāng)清算層與金額機(jī)構(gòu)清算完畢,業(yè)務(wù)對(duì)賬完成后,清算層將清算結(jié)果回執(zhí)給支付層,支付層進(jìn)行后續(xù)處理:①結(jié)算;②業(yè)務(wù)分流。
單筆充退指令取消
外部系統(tǒng)請(qǐng)求支付層取消某一筆充退指令,如果是預(yù)結(jié)算的,只有該支付指令處于預(yù)授權(quán)狀態(tài)放可進(jìn)行取消;對(duì)于后結(jié)算充退指令,只要該筆充退指令沒(méi)有報(bào)送至清算層均可被取消;預(yù)結(jié)算充退指令取消要完成賬務(wù)解凍處理;如果當(dāng)前狀態(tài)不允許進(jìn)行取消,則外部系統(tǒng)需要請(qǐng)求清算層進(jìn)行取消;復(fù)核清算層的取消規(guī)則后,清算層會(huì)以清算失敗的狀態(tài)異步回執(zhí)支付層,則支付層進(jìn)行失敗回充。
人工充退指令推進(jìn)
上述異步充退推進(jìn)調(diào)度中所使用的獨(dú)立門面服務(wù),完成結(jié)算以及報(bào)清算處理過(guò)程。
充退匯總查詢
獨(dú)立的門面服務(wù),支付層內(nèi)部以及外部系統(tǒng)均可使用此服務(wù);用以解釋指定的充值指令所對(duì)應(yīng)的所有充退指令集合,包括每筆充退指令的金額、狀態(tài)等。
可充退額度統(tǒng)計(jì)
用以統(tǒng)計(jì)每筆充值指令當(dāng)前可充退金額,如前臺(tái)會(huì)員自助充退則需要獲得此統(tǒng)計(jì)金額進(jìn)行控制。
充退高可用性的渠道配置
目前的識(shí)別規(guī)則分三個(gè)維度:產(chǎn)品、商戶(客戶)、渠道,實(shí)際上充退產(chǎn)品在申請(qǐng)充退協(xié)議時(shí)從產(chǎn)品和商戶的角度來(lái)決定。
各類規(guī)則配置管理服務(wù)
簡(jiǎn)單的介紹一下引入的各類配置規(guī)則包括:
①支付渠道配置管理;②與收銀臺(tái)相關(guān)的過(guò)濾配置管理;③統(tǒng)一的支付能力配置管理;④支付能力與協(xié)議配置管理;⑤分流目標(biāo)管理;⑥充值后凍結(jié)渠道配置管理。
以上各類規(guī)則配置,支付層均需開設(shè)相應(yīng)的管理服務(wù)供管理平臺(tái)使用。
業(yè)務(wù)回執(zhí)分流器
本講說(shuō)的支付層重要的基礎(chǔ)設(shè)施之一:負(fù)責(zé)完成與支付業(yè)務(wù)處理無(wú)關(guān)的業(yè)務(wù)回執(zhí)分流工作;作為支付層與其他產(chǎn)品系統(tǒng)的通訊支撐,回執(zhí)通訊方式選型為基于ESB的異步通知方式。
業(yè)務(wù)回執(zhí)分流注冊(cè)
本講有充值/充退背景的業(yè)務(wù)回執(zhí)行為支付標(biāo)記化系統(tǒng)架構(gòu),在組裝申請(qǐng)單據(jù)至支付層時(shí)即設(shè)置了回執(zhí)上下文;而其他子系統(tǒng)也可以直接使用業(yè)務(wù)回執(zhí)分流器完成回執(zhí),可僅注冊(cè)回執(zhí)上下文信息。
統(tǒng)一支付能力
設(shè)計(jì)提現(xiàn)、充值、充退領(lǐng)域服務(wù)可配置的支付能力,保證后續(xù)的支付等都可以配置各類協(xié)議所使用的差異性支付能力。
領(lǐng)域服務(wù)監(jiān)聽器
業(yè)務(wù)回執(zhí)分流器恢復(fù)調(diào)度
即前文中所提到的分流器默認(rèn)調(diào)度策略:接收到監(jiān)聽器通知但并未執(zhí)行的、或者采取同步回執(zhí)通訊方式的,對(duì)方應(yīng)答丟失的兩種場(chǎng)景下需要進(jìn)行再次嘗試。
業(yè)務(wù)回執(zhí)分流器恢復(fù)調(diào)度
支付層將對(duì)所有的支付渠道進(jìn)行管理;支付渠道包含了與金融機(jī)構(gòu)交互的清算通道、以及無(wú)需清算類的通道,如余額等;所以支付渠道的范圍是大于等于清算通道范圍的。