興業銀行銀企直聯對接記錄及SDK

年前因爲業務需要,接觸了興業銀行的銀企直聯,因爲感興趣,所以大致搜了下國內一些銀行,發現目前銀行銀企直聯模式新接入的用戶都只有前置代理機這一途徑,所以興業銀行也不例外。

可在此處查看興業銀行的接口文檔,該處包含了V4.0.0和V4.0.4版本兩份文檔。至於前置機安裝以及證書之類的,此處就不提供了,如果你有接入的業務需要,興業銀行的相關工作人員會提供相關資料,如下圖。
在這裏插入圖片描述
一般而言,你按照《興業銀行銀企直聯代理軟件升級手冊.docx》說明一步步安裝就行了,但測試用的軟證書部分需注意一點,必須在安裝完所有軟件後才進行證書導入,否則會在啓動代理機監控時提示未能找到證書。然後不管是正式還是測試環境,均需要向興業銀行申請將前置代理機對外請求時的IP添加進白名單,只有白名單內的IP地址發出的請求,興業銀行服務端纔會接受,所以此處如果有條件,還是建議對外IP固定(如果是通過代理上網也一樣的道理),否則一旦你路由器重啓之類的導致IP發生了變化,再通過興業銀行重新添加白名單可是要時間的,測試環境的話是固定每週三添加,正式環境不清楚,但想來也不可能很快。前置代理機本身也有個白名單設置,該設置是用於配置哪些請求來源可以進行訪問,而這些請求來源纔是你真正的業務程序,如下圖。
在這裏插入圖片描述
對於企業而言,一般來說,均只需銀企直聯的支付(對公、對私、行內、行外)功能,我們也不例外,然後這裏就牽扯出了一些國家金融監控風險上的問題。就企業賬號而言,分基本賬戶和一般賬戶,基本賬戶是每個企業只能有一個,一般賬戶則可以有多個。因爲銀企直聯並不像網銀那樣,會經過國家金融監控,所以受國家政策影響,銀企直聯進行對私支付可能會存在金融風險。當然這風險也與企業賬戶類型及銀行所在地有關,通過基本賬戶進行支付的話,不存在金融風險;一般賬戶的話,則與銀行所在地有關,上海、北京之類的一線城市國家放開了政策,允許一般賬戶進行支付,其它地方則任然受政策影響。

興業銀行前置代理機會記錄所有的請求與響應內容,所以本質上講,請求程序無需特意記錄每次的請求與響應內容。還有請不要測試賬號密碼錯誤的情況,因爲如果錯了N次之後,該賬號就會被永久封停!!!你只能通過興業銀行的相關人員重新申請一個新的賬號。

興業銀行的支付一般來講,只需要通過 3.4 企業財務室 下的 3.4.1 轉賬匯款 接口即可。當然3.7 集團服務 下的 3.7.1 集團支付 也可以進行支付,但按3.7.1的說明,其只可以進行對公轉賬(實際測試時發現也可以對私轉賬)。需注意的是,支付時會有付款費率問題,不同地區的費率不同,支付接口只會返回該筆請求的支付情況,當支付成功時,其對應的手續費是不會在響應中進行體現,所以只能通過 3.4.2 查詢轉賬交易狀態 來確定對應的手續費,如果支付時實時響應支付結果爲PAYOUT,那麼你可以立刻調用3.4.2接口進行流水查詢,否則的話,你需要通過其它途徑(比如定時、或者人工觸發)來進行流水查詢。

一般情況下,企業是不會允許當業務程序發起支付請求時,銀行就立刻將資金轉賬到對應目標賬戶,正常流程是先發送支付請求到網銀,然後再由對應的審覈人員在網銀端確認無誤後才進行支付,也就是上圖中“網銀審覈”那塊需要在前置代理機上進行勾選。但這時又會牽扯出一個問題,就是銀企直聯支付的賬號,如果該賬號對應的轉賬流程爲一級模式,那麼不管你是否勾選了“網銀審覈”,支付請求均會被立刻執行PAYOUT,而不是AUDITING,只有當賬號對應的轉賬流程爲二級模式時,纔會響應AUDITING,即等待網銀審覈。賬號對應的轉賬流程爲幾級模式這需要由興業銀行的人員確認,測試環境的網銀審覈是不公開給用戶的,如果需要測試該流程,需要興業銀行的人員幫忙進行審覈。

一般情況下,我們轉賬都不會設置轉賬日期,如果輸入了DTDUE轉賬執行日期,那麼網銀審批需在此日期(含當日)之前進行審覈,如果未能在該日期結束之前審批,那麼該筆支付狀態會被轉爲EXPIRED,即指令過期,此時你需要重新發起一筆支付請求。

上面都是支付相關的一些注意點,爲了方便接入,所以個人還封裝了興業銀行銀企直聯的SDK,該項目開源在Github上,支持NET4.5.2NETStandard 2.0,該項目依賴第三方類庫RestSharp,具體項目地址見此處,你也可以在此處的README查看目前SDK都已經封裝了哪些接口。默認請求時SONRQ會設置爲密碼加密,該部分已參考興業銀行提供的cibFoxDesUtil.jar,按同樣的邏輯封裝了NET版本,然後該類的構造函數中,encoding參數用於解決可能存在的服務端與客戶端默認語言環境不一致的問題,默認爲null,代表使用當前系統語言編碼方式,即與java一致,採用System.Text.Encoding.Default。使用例子可見此處代碼。對於某些支付請求不能實時響應的問題,可以通過另一個開源項目LongIntervalRetries來處理定時調用的問題。

最後由於測試賬號權限限制問題,目前完全測試過的只有3.3 賬戶查詢, 3.4 企業財務室3.6 虛擬子賬戶3.7 集團服務,所以如果你在使用中發現SDK錯誤,你可以在Github上建立Issue,或者在此處留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章