
在支付渠道中,除了聯(lián)機(jī)交易以外,最重要的功能是對(duì)賬,而對(duì)于不同的支付渠道,支持的對(duì)賬方式都不同。這篇文章就給大家詳細(xì)講講支付渠道對(duì)賬設(shè)計(jì)的那些事。
對(duì)賬單獲取
通常我們接入的支付渠道比如支付公司、銀行、銀聯(lián),在提供聯(lián)機(jī)交易API以外,一般都提供了對(duì)賬單下載服務(wù),還有一些僅提供賬單交易查詢接口或者提供從管理臺(tái)下載賬單文件的方式。
所以在對(duì)賬單獲取上,我們需要考慮的問題如下:
1.下載方式不一,HTTP,HTTPS,F(xiàn)TP的,都有。下載程序需要按照渠道的協(xié)議來處理。另外還需要提供手動(dòng)導(dǎo)入的方式。
2.下載時(shí)間不一,一般是凌晨12點(diǎn)后,但是具體生成時(shí)間通常不確定。如果在第一次取不到對(duì)賬數(shù)據(jù),需要嘗試過一段時(shí)間重新讀取,另外在做的過程中還可能遇到取對(duì)方對(duì)賬數(shù)據(jù)有誤,需要提供手工改對(duì)賬文件重跑的方式。
3.對(duì)賬單格式不一。TEXT,XML,CSV,ZIP的都有。為了后續(xù)能夠統(tǒng)一處理,在賬單下載完成后,需要進(jìn)行標(biāo)準(zhǔn)化處理,根據(jù)不同的渠道的文件格式進(jìn)行適配,然后統(tǒng)一記錄到數(shù)據(jù)庫或者標(biāo)準(zhǔn)格式文件。
對(duì)賬單內(nèi)容標(biāo)準(zhǔn)化
對(duì)于不同的對(duì)賬單內(nèi)容獲取方式,我們都需要進(jìn)行標(biāo)準(zhǔn)化,也就是提取出通用的關(guān)鍵的要素。
通常來講,我們需要關(guān)心對(duì)賬單內(nèi)容有:支付渠道流水號(hào)、商戶訂單號(hào)、金額、狀態(tài)標(biāo)識(shí)(成功,失?。⒔灰讜r(shí)間、支付時(shí)間、清算日期、交易類型。支付渠道流水號(hào)、商戶訂單號(hào)用于唯一確認(rèn)一筆交易,金額、交易類型、交易狀態(tài)為交易的關(guān)鍵信息,清算日期為對(duì)賬單里這筆交易對(duì)應(yīng)的清算資金日期。
對(duì)賬記錄內(nèi)容通常包括交易記錄和退款記錄。
本系統(tǒng)交易記錄
對(duì)賬交易,其業(yè)務(wù)意義更多的是在每天日終,確認(rèn)聯(lián)機(jī)交易中發(fā)生調(diào)單的交易或者未知的交易是否成功,然后進(jìn)行相應(yīng)的賬務(wù)調(diào)賬處理。
所以我方需要抽出當(dāng)天發(fā)生的所有交易流水,成功、未知以及失敗的(極端情況下會(huì)出現(xiàn)我方失敗但是渠道成功的情況,比如我方系統(tǒng)或者渠道系統(tǒng)出現(xiàn)問題)
對(duì)賬過程(軋帳)
由于交易都是我方發(fā)起,所以理論上,渠道方應(yīng)該是我方交易的子集(我方還有一些交易掉單的時(shí)未發(fā)送到渠道方的)。但是實(shí)際上由于存在交易跨日問題,可能渠道方也會(huì)多出我方認(rèn)為的T-1日或者T+1日的流水。
所以對(duì)賬過程會(huì)有兩步:
1.以渠道對(duì)賬文件的表為基準(zhǔn),程序逐行讀取并與我們系統(tǒng)的交易記錄對(duì)比,查找出差異記錄。
2.以我方對(duì)賬文件的表為基準(zhǔn),程序逐行讀取與渠道對(duì)賬文件對(duì)比,查找出差異記錄。
對(duì)賬結(jié)果(輸出差異記錄)
對(duì)賬處理完成后,數(shù)據(jù)會(huì)分成幾部分:
1.我方和渠道都是成功的,這種是正確交易
2.我方多的成功交易,渠道不存在,這種需要留到第二天再對(duì)
3.渠道多的成功交易,我方不存在或者失敗,這種需要進(jìn)入差錯(cuò)轉(zhuǎn)人工處理
差錯(cuò)處理、平賬
對(duì)賬系統(tǒng)的工作,是發(fā)現(xiàn)有差異的記錄,即軋帳;然后通過人工或者自動(dòng)的方式,解決這些差異,即平帳。
差錯(cuò)處理這塊根據(jù)各公司運(yùn)營實(shí)際情況進(jìn)行處理,優(yōu)先自動(dòng)化補(bǔ)償或者沖正,然后再人工介入調(diào)賬。
總結(jié)
對(duì)賬工作是一個(gè)非常標(biāo)準(zhǔn)化的流程,需要盡可能考慮到所有的異常情況,根據(jù)經(jīng)驗(yàn)做好差錯(cuò)處理。