?一. 項(xiàng)目背景
代付系統(tǒng)即出款系統(tǒng)余佃,完成公司對外的資金支付行為,是基礎(chǔ)原子性服務(wù)跨算。
1.主要功能
(1) 受理代付請求
(2) 生成代付批次爆土,完成代付通道出款
(3) 接收通道方代付結(jié)果?
(4) 異步通知業(yè)務(wù)方代付結(jié)果
(5) 查詢代付流水
(6)?代付異常處理
(7) 對賬與調(diào)賬
對賬:與通道方的流水勾兌
調(diào)賬:通常為銀行退單,銀行在日結(jié)賬務(wù)核對后的差錯退款诸蚕。
2. 主要運(yùn)用場景包括
(1)對私代付:代發(fā)工資步势、用戶提現(xiàn)等;
(2)對公代付:支付代理商分潤款項(xiàng)等背犯。
下圖為系統(tǒng)架構(gòu)圖(紅配綠坏瘩,畫的有點(diǎn)丑,見諒)媳板,招行銀企直連是代付通道之一桑腮。
二. 招行銀企直連對接
1. 基本介紹
官網(wǎng)文檔:https://u.ebank.cmbchina.com/CmbBank_GenShell/UI/Help/DCBank2/Main.aspx
接口文檔:https://u.ebank.cmbchina.com/CmbBank_GenShell/UI/Help/DCBank2/API.aspx
示例代碼:https://u.ebank.cmbchina.com/CmbBank_GenShell/UI/Help/DCBank2/DownLoad.aspx?Code
2. 對接過程
(1) 搭建前置機(jī)
官方教程:https://u.ebank.cmbchina.com/CmbBank_GenShell/UI/Help/DCBank2/Guide.aspx?Solution
注意事項(xiàng):
a.前置機(jī)必須是windows 系統(tǒng),建議使用Intel i5 CPU或更高性能處理器蛉幸,4G及以上內(nèi)存破讨,50G以上的空閑硬盤空間。
b. 由于測試服務(wù)器需要配置招行測試環(huán)境的host奕纫,生產(chǎn)服務(wù)器和測試服務(wù)器不能是同一臺服務(wù)器提陶。
c. 生產(chǎn)服務(wù)器必須是實(shí)體機(jī),需要插招行的銀企直連U-key, 并且生產(chǎn)服務(wù)器必須要有公網(wǎng)地址匹层。
(2) 接口對接
功能與招行的接口映射關(guān)系如下:
a. 對公代付? ---->? ?3.6 直接支付
b. 對公代付結(jié)果查詢接口? ? ---->? 3.9 批量查詢支付信息
c. 對私代付? ----->??21.2.1.網(wǎng)銀貸記
d. 對私代付結(jié)果查詢接口? ?----->?21.1.4.取企業(yè)銀行處理結(jié)果
e. 退單接口? ----->? ?1.4.取新的通知
由于都是一些細(xì)節(jié)問題隙笆,所以以QA的方式列出來常見問題锌蓄,信息都來自于招行技術(shù):
Q:招行企業(yè)直連通道支持全部銀行嗎,包括各種地方農(nóng)商行撑柔?
A:直接支付(走人行大小額系統(tǒng))支持全部銀行瘸爽,網(wǎng)銀貸記接口(走人行超級網(wǎng)銀系統(tǒng))僅支持部分銀行。
Q:接口的報文編碼格式是什么铅忿?
A:全部接口默認(rèn)報文編碼格式均為GBK
Q: 招行接口的金額單位是什么剪决?
A:元
Q:招行企業(yè)直連通道能實(shí)時返回代付結(jié)果嗎?
A:可以實(shí)時返回代付受理結(jié)果檀训,但最終代付結(jié)果還是異步的柑潦,超級網(wǎng)銀通常5分鐘可返回結(jié)果,大額對公通常2個小時返回結(jié)果峻凫,小額對公通常1個小時返回結(jié)果(實(shí)際對公代付不需要這么久渗鬼,平均20分鐘左右)。
Q:招行直接支付接口和網(wǎng)銀貸記的單批次筆數(shù)限制荧琼?
A:直接支付接口單批次筆數(shù)限制為1500筆譬胎,網(wǎng)銀貸記為單批次最多30筆,另外直接支付查詢結(jié)果接口筆數(shù)限制為30筆命锄,網(wǎng)銀貸記結(jié)果查詢接口限制為1筆银择。
Q:可以設(shè)置單筆限額嗎?
A:可以在招行網(wǎng)銀中設(shè)置
Q:怎么獲取退單消息累舷?
A:退單消息一般2個工作日內(nèi)返回浩考,會主動通過1.4 接口通知,可以定義定時任務(wù)輪循該接口被盈,每個通知只會通知一次析孽。(注: 所有的代付結(jié)果都優(yōu)先查詢接口為準(zhǔn),通知接口次之)
Q: 怎么區(qū)分直接支付的大額和小額只怎?
A:?STLCHN參數(shù)區(qū)分袜瞬,普通是小額,快速是大額
Q:招行接口調(diào)用頻率限制和并發(fā)性能身堡?
A:具體參考https://u.ebank.cmbchina.com/CmbBank_GenShell/UI/Help/DCBank2/Guide.aspx?FrontEnd#t5說明
調(diào)用頻率控制按接口種類區(qū)別控制:
經(jīng)辦類請求:兩次經(jīng)辦類請求最小調(diào)用間隔為1秒邓尤;
查詢類請求:兩次查詢類請求最小調(diào)用間隔為2秒;(這一點(diǎn)有點(diǎn)坑贴谎,大數(shù)據(jù)量的代付批次查詢很慢汞扎,暫時沒有想到什么優(yōu)化方法)
通知類請求:兩次通知類請求最小調(diào)用間隔為5秒。
Q: 直接支付的必填開戶行地區(qū)需要精確到哪一層級
A: 開戶行地區(qū)最好精確到 省-市-區(qū)/縣擅这,如果只有省或省-市也是OK的澈魄,具體看收款銀行的限制。
Q: 招行測試環(huán)境是否可以mock代付
A:支持的仲翎,可以復(fù)現(xiàn)各種異常情況痹扇,基本與生產(chǎn)環(huán)境無差異
Q: 網(wǎng)銀貸記的接口文檔與實(shí)際返回結(jié)果不一致呢铛漓?
A:目前招行官網(wǎng)接口文檔存在較大錯誤,與實(shí)際返回結(jié)果不一致鲫构,我們已經(jīng)與招行技術(shù)反饋過浓恶,目前還沒有修復(fù)(2019-02-01),可以暫時參照如下參數(shù)结笨。
Q:怎么獲取網(wǎng)銀貸記的協(xié)議號
A: 網(wǎng)銀貸記的信息可以通過?21.1.3.業(yè)務(wù)交易明細(xì)查詢?接口查詢问顷,包括協(xié)議號。
暫時只回憶起這些問題禀梳,如果還有其他疑問可留言,將及時更新肠骆。
(3) 測試環(huán)境部署
必備條件:
a. 招行提供的測試環(huán)境賬戶算途,賬戶需要開通直接支付和網(wǎng)銀貸記權(quán)限
b. 招行銀企直連的測試服務(wù)器有時間問題,導(dǎo)致代付成功的訂單查詢不到代付結(jié)果蚀腿,招行有提供一個修改前置機(jī)時間的工具嘴瓤,可聯(lián)系招行技術(shù)提供。
(4) 生產(chǎn)環(huán)境發(fā)布
注意要點(diǎn):
a. 招行有一種退單是查詢交易顯示成功莉钙,但是網(wǎng)銀里顯示已退款廓脆。經(jīng)排查,具體原因如下:
代付請求流程是這樣的: 出款方-> 招行->人行-> 收款行
退單有3種情況:
(1) 招行校驗(yàn)信息失敶庞瘛:出款方-> 招行(招行拒絕代付請求)停忿,代付訂單顯示失敗
(2) 收款行校驗(yàn)信息失敗: 出款方-> 招行->人行-> 收款行(收款行拒絕代付請求)蚊伞,代付訂單顯示失敗
(3) 收款行校驗(yàn)行內(nèi)轉(zhuǎn)賬失斚浮:出款方-> 招行->人行-> 收款行(收款行接收代付請求),? 收款行(行內(nèi)轉(zhuǎn)賬失敗时迫,發(fā)起反向原路退款)->人行->招行->出款方? 颅停,代付訂單顯示成功
出現(xiàn)上述情況就是命中了第3種退單,這種退單的補(bǔ)單方式可以讓業(yè)務(wù)方完善銀行信息后重新發(fā)起一筆代付掠拳。