信用卡智能自動代理還款系統搭建開發流程

樓主  收藏   舉報   帖子創建時間:  2018-10-25 18:56 回復:0 關注量:247
        第三方支付之無卡支付底層系統設計。一般來說,所謂無卡支付底層系統,包括兩個大部分:無卡通道接入層、無卡通道路由層;又可從中拆分出相對獨立的卡通道數據、通道配置、路由規則這三部分。如下述無卡支付業務結構圖中虛框所示。

信用卡智能還款系統開發貼牌

一、無卡通道接入層

支付公司的無卡通道接入層有著這樣的職責:

接入通道,并向路由層提供通道級別的標準服務。

換言之,無卡通道接入層應當屏蔽不同通道的同類型接口差異。譬如,同為支付接口,不同無卡通道提供的獲取支付結果的方式,分為:同步返回、異步通知、主動查詢等方式,這種種不同,無卡通道路由層及之上的業務系統都應該看不到。

信用卡自動還款

1.1接入層-模塊劃分

為了提供通道級別的標準服務,無卡通道接入層如下設計:

2接入層-鑒權

鑒權服務模塊封裝無卡通道的鑒權類接口。上篇文章提到,不同無卡通道提供的鑒權類接口是不一樣的,包括卡信息驗證、簽約、解約、銀行短驗確認等。這些差異在接入層將被屏蔽,給路由層及更上層業務系統提供標準的鑒權服務。接口的關鍵入參與出參如下:

3接入層-支付

支付服務模塊封裝無卡通道的支付類接口。屏蔽無卡通道的差異包括支付結果的獲取方式(同步返回、異步回調、主動查詢等)等。由于支付的時效性并不總能保證,因此向上層系統提供支付結果查詢接口或者支付結果的回調。接口的關鍵入參與出參如下:

4接入層-預授權

預授權服務模塊封裝無卡通道的預授權類接口。從上篇文章已經可以看到,無卡通道可提供的預授權類是非常豐富的,包括申請、追加、撤銷、扣款、沖正等。支付公司根據自身業務的需求對接部分接口即可。下表列出了主要的預授權類接口的關鍵入參與出參如下:

商務信息網支付系統

1.5接入層-退款

退款服務模塊封裝無卡通道的退款類接口。退款是基于原有支付扣款訂單的相反方向的操作。其接口相對比較簡單,如下表所示

6接入層-對賬

對賬服務模塊封裝無卡通道的獲取對賬文件接口,一般來說,支付公司與通道間的對賬都是通過獲取通道提供的各類對賬文件來進行的。具體的操作則是:接入層獲取對賬文件接口定時地將各個通道的對賬文件下載并提供給專門的對賬系統;對賬系統將自動地基于通道的對賬文件與支付公司自身的交易數據(也由接入層提供)進行對比;如果發現差異則需要結算人員找出差異訂單并與通道方溝通解決。對賬文件獲取接口的關鍵入參與出參如下:

商務信息網

二、無卡通道路由層

無卡通道路由層是業務與通道的適配器,它的職責是:

根據業務需求自動篩選通道,向上提供銀行級別的服務。

換言之,上層業務無需知曉通道概念。對于上層業務來說,這意味著不需要關心個別通道的維護,如果有備份通道可用的話。

2.1路由層-模塊劃分

路由層提供的是路由服務,因而它只提供有路由需求的接口,包括鑒權請求、解約請求、支付請求、預授權請求。這與接入層各模塊提供的接口相比,少了很多。而缺少的那些接口,都是基于原訂單請求,無需路由。也可以在路由層簡單封裝這些基于原訂單請求的接口提供給上層業務系統調用。

商務信息網

2路由層-鑒權

路由層的鑒權服務模塊,對應于接入層的鑒權服務模塊。區別在于后者提供的是通道級服務,而前者提供的是銀行級別的服務。具體而言:

路由層的鑒權請求總是先調用卡通道數據服務,以確認當前請求鑒權的卡信息是否已經鑒權成功過,避免重復調用浪費成本,或者發現當前卡信息不相符時需要先解約再簽約;

路由層的鑒權請求經過路由規則篩選出最終的鑒權通道,也可能需要同時調用多個通道的鑒權才滿足交易層對卡信息的驗證要求,甚至在允許的情況下可同時調用所有符合硬性要求的鑒權通道。

其接口入參與出參如下表所示:

路由層-支付/預授權

支付和預授權具有比較一致的特征,因此放在一起講解,它們具有下述特點:

支付請求(和預授權請求)總是先調用卡通道數據服務,以獲得簽約號等卡信息;

支付請求(和預授權請求)一般不對底層通道進行組合使用,原因是支付過程遠較鑒權來得復雜,如果因為限額等原因將一筆支付拆成兩筆,可能出現其中一筆成功另一筆掉單的情況,增加后續差錯處理的難度;

在耗時允許的情況下,路由層可以在一次支付失敗的情況下,換走另一個通道再進行一次支付,通過此法提升成功率。

其接口入參與出參如下表所示:

三、卡通道數據系統

卡通道數據既可以放在無卡通道接入層系統中,也可放在無卡通道路由層系統,亦可獨立一體。從職責上看,卡通道數據系統負責:

存儲卡信息-通道的鑒權結果并提供查詢服務。

它既提供查詢服務,也提供數據保存服務(可由接入層負責保存,也可由路由層負責保存)。

3.1卡通道數據-內容

先解釋何為卡信息。此處的卡信息包括:

卡號、簽約號、證件號、證件類型、姓名、手機號、有效期、CVV2、取款密碼

其中后三項敏感卡信息按央行規定是不允許存儲的,實際是否存儲取決于各家支付公司對便捷性與安全性的權衡。現實情況是:只要不出大規模風險事件(如攜程泄露用戶銀行卡信息事件),外界沒人知道一家公司是否存儲敏感卡信息。

卡通道數據則包括:

卡號、通道、簽約號、證件號、證件類型、姓名、手機號、有效期、CVV2、取款密碼,鑒權結果,鑒權時間

其中卡號、通道是聯合主鍵。此數據標識的是,一份卡信息是否被某個通道認可,其中“鑒權結果”既包括無卡通道鑒權類接口的結果,也包括那些支付過程進行卡信息驗證的支付類接口的鑒權結果。

3.2卡通道數據-意義

記錄卡通道數據很重要,它有下述作用:

3.3卡通道數據-接口

卡通道數據系統對外提供兩個接口,其關鍵入參與出參如下表:

四、通道配置系統

通道參數(或屬性)配置的職責是:

清晰標記每個無卡通道的各項參數。

這些被標記的參數是在調用無卡通道接口時需要的,或者是在無卡通道路由層路由時需要的。

4.1通道配置-模塊劃分

參數大致分為兩類:對接所需,路由所需;因而此部分可分為兩大模塊。

2通道配置-對接專用參數

至少有如下表中的四類參數是在對接無卡通道時需要使用到的。

4.3通道配置-路由專用參數

路由參數配置模塊,其職責是:配置所有通道與路由有關的屬性。所有與通道有關的屬性,只要對路由層選擇通道有影響的,都應在通道屬性配置服務模塊進行配置,以便路由層基于具體交易訂單的要求與每個無卡通道的屬性進行路由。

為了更清晰地向路由層提供服務,此模塊定義的通道往往是邏輯通道,而非真實通道。舉例而言,某通道同時支持多家銀行,但每家銀行的限額、行業等不相同,這種情況下,就可以且需要按銀行拆分此真實通道為多個邏輯通道,以便配置該通道不同銀行的限額、行業等參數。

用于路由的通道屬性大致可以依序分為以下幾類:

說明:

必需的離散屬性:指每筆支付訂單必定是某種屬性,如必定是某個卡種,而不可能是兩個或兩個以上的卡種

非必需的離散屬性:指有的支付訂單可能并不需要關心的參數,如有的支付訂單可能不關心是否銀行下發短驗,而另一些支付訂單則必須銀行下發短驗,或者不能接受銀行下發短驗

商務信息網支付接口教程

五、路由規則配置

路由規則是實現路由層職責的核心所在,路由層依賴路由規則篩選通道。路由規則配置的職責是:

實現路由規則的可配置化及其與具體通道屬性的分離。

且路由規則應當是靈活可配置的,靈活性應當類似風控規則,做到規則與具體數據的分離。所謂路由,就是篩選或決策過程;路由規則規范了如何進行篩選過濾。

5.1

路由配置-規則列表

路由規則從前到后可以設計如下所示,一次路由總是先走所有硬規則再走軟規則。如果經過硬規則之后留下不止一個通道,則再依次通過軟規則,直到只剩下一個通道;相反如果在進行硬規則路由過程中就把所有通道均過濾掉,沒有任何通道符合硬規則,只能向上層業務返回路由失敗。

5.2路由配置-如何快速路由

路由既要滿足業務要求,又要高效,因為通道尤其是邏輯通道的數量是非常大的,可能多得數百甚至上千條邏輯通道,必須在短時間內篩選出符合要求的最優通道。那么如何能做到快速路由呢?這是一個偏技術的命題,pay-dog也順便聊一聊。

提速方法一:路由規則的順序很重要。路由規則除了先硬規則后軟件規則之外,在硬規則序列中,還應將有助于快速縮小范圍的路由規則放在前面。

提速方法二:基于離散屬性的硬規則,可采用位運算。對所有硬規則而言,其實質是在做判斷題,判斷題的兩端分別是交易要求和通道屬性。學過計算機的讀者應該知道,最快速的運算是位運算。當然,將判斷題通過位運算來進行的前提是判斷題的兩端必須是離散數據。因此硬規則-離散屬性部分,正是可以應用位運算來提升性能的地方。

以“銀行”規則為例,通過編碼,將每個銀行賦以不同的二進制進位值。例如工行是1(二進制,下同),農行是10,中行是100,……,如果通道同時支持工行與農行,則其銀行編碼為11;假設一共20家銀行,則通道的銀行屬性可以由一個20位二進制的數字來表示。交易要求的銀行采用相同規則進行編碼。于是,“銀行”規則就可以通過交易銀行編碼與通道支持的銀行編碼進行位與運算進行,凡位與運算結果為0的通道則過濾,凡位與運算不為0的通道則保留。

其他離散屬性可以做類似的編碼規定。這樣將判斷均使用位與運算來進行,可達到提升性能的效果。整個運算過程如下圖所示(假設路由規則為:交易類型、卡種、銀行):

提速方法三:合并基于離散屬性的硬規則。如果將所有基于離散屬性的硬規則用到的離散屬性進行拼接(可以提前一次性完成),就可以將多個規則合并為一個規則。從提速方法二推導出的提速方法三的過程如下圖所示,整個過程只需4次位運算。

提速方法四:預存所有可能的交易要求對應的基于離散屬性的硬規則結果。所有可能的交易要求就是提速方法三中合并的離散屬性編碼,一共有3(交易類型)*2(卡種)*20(銀行)*10(行業)*3(授權-銀行短驗)*3(簽約-銀行短信通知)*3(支付-銀行短信通知)*3(直連/間連)=97,200種可能。一旦預存,屆時可一步到位得到結果。這種方式需要在新增通道或者變更通道路由參數時重新生成預存結果。

當然,路由層性能的提升還有很多方面,例如系統架構設計等。凡此種種,以及上述所謂提速方法,都讓程序猿去考慮吧,產品狗不用操心。

六、總結

本文講解了無卡支付底層系統的設計,包括:

無卡通道接入層:接入通道,并向路由層提供通道級別的標準服務;

無卡通道路由層:根據業務需求自動篩選通道,向上提供銀行級別的服務;

卡通道數據系統:存儲卡信息-通道的鑒權結果并提供查詢服務;

通道配置系統:標記每個無卡通道的各項屬性;

路由規則配置:實現路由規則的可配置化及其與具體通道屬性的分離。

南陽三百六信息技術有限公司專注支付系統開發、網貸系統開發、智能還款系統開發,8年專注互聯網+金融系統開發,公司原南陽地區360搜索總代理,公司坐落于河南省南陽市師范學院經緯國際廣場,座機電話:0377-83867263,服務QQ:1123313500,歡迎廣大客戶來我司蒞臨指導,我們竭誠為您服務!商務信息網
打賞