支付系統(tǒng)對接pos機(jī),接入和管理

 新聞資訊  |   2023-05-17 13:02  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于支付系統(tǒng)對接pos機(jī),接入和管理的知識,也有很多人為大家解答關(guān)于支付系統(tǒng)對接pos機(jī)的問題,今天pos機(jī)之家(www.rcqwhg.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、支付系統(tǒng)對接pos機(jī)

支付系統(tǒng)對接pos機(jī)

如今,支付通道已經(jīng)是日常生活和商業(yè)交易中不可或缺的部分,也是各種支付業(yè)務(wù)的基礎(chǔ)。本文作者對如何接入支付通道及規(guī)劃通道管理系統(tǒng)相關(guān)功能進(jìn)行了分析,一起來看一下吧。

從最初的現(xiàn)金支付到當(dāng)下的電子支付,支付通道已然是日常生活和商業(yè)交易中不可或缺的部分,也是各種支付業(yè)務(wù)的基礎(chǔ)。本文將詳細(xì)解析如何接入支付通道及規(guī)劃通道管理系統(tǒng)相關(guān)功能。

01 什么是支付通道

以運(yùn)輸貨物為例,要將一批貨從A地運(yùn)到B地,可實現(xiàn)的運(yùn)輸方式有路運(yùn)、海運(yùn)、鐵運(yùn)、空運(yùn)。相同的目的地,不同的運(yùn)輸方式,往往還有許多不同的航道、鐵道和公路可供選擇,只不過過程中耗費(fèi)的時間、承擔(dān)的風(fēng)險、金錢成本不同而已。

1. 支付通道概念

類似于運(yùn)輸,支付通道的本質(zhì)是通過構(gòu)建一個個信息交換的環(huán)境,用于支持交易過程中多方之間的信息的傳遞和驗證,以實現(xiàn)交易資金的流動,最終促進(jìn)交易的完成。

狹義上支付通道是指交易時連接消費(fèi)者、商家和銀行各方錢包賬戶的網(wǎng)絡(luò)通路,而從廣義上來看,只要能需滿足支付的需求,并將信息、資金成功安全地轉(zhuǎn)移給對應(yīng)的收款方的路徑,即使是企業(yè)的用積分去支付、利用虛擬卡、利用虛擬賬戶等內(nèi)部的資產(chǎn)形式來支付,與這些管理資產(chǎn)的系統(tǒng)對接接入,我們可以說接入了“內(nèi)部的虛擬支付通道”。

2. 支付通道的分類

隨著支付行業(yè)的發(fā)展,不同支付場景催生出多種多樣的支付通道,不同的通道細(xì)分出了不同的特點,我們可以從多個不同的維度進(jìn)行分類,來更好地感知支付通道的差異。例如:

支持不同卡類型的通道:僅支持借記卡的通道、僅支持貸記卡的通道、借貸卡都支持的通道;扣款交互模式不同的通道:扣款前需要簽約、鑒權(quán)的快捷通道、可建立預(yù)付授權(quán)關(guān)系,用于信用卡還款和水電煤繳費(fèi)的代扣通道、需跳轉(zhuǎn)銀行頁面進(jìn)行付款的網(wǎng)銀通道、通常被用于手機(jī)話費(fèi)支付和流量充值等業(yè)務(wù)的手機(jī)運(yùn)營商鑒權(quán)通道、支付時使用微信、支付寶等第三方支付平臺輸入支付密碼或者進(jìn)行指紋識別等進(jìn)行認(rèn)證的身份認(rèn)證通道;交易支持不同發(fā)起方的通道:持卡人(用戶)發(fā)起、商戶(平臺)發(fā)起;有不同行業(yè)限制的通道:微信代扣就僅限符合周期扣費(fèi)和先享后付場景的行業(yè)使用,會員續(xù)費(fèi)、水電煤民生類行業(yè)、打車、酒店類行業(yè)、停車場或高速公路無人繳費(fèi);扣款要素不同的通道:如網(wǎng)銀需要卡號和密碼二要素、快捷則需要驗證卡號/賬號、戶名、證件號、手機(jī)號四要素;支付標(biāo)的物不同的通道:比如用積分來支付、銀行卡支付、代幣支付、虛擬幣支付、銀行卡支付等。

1)根據(jù)通道的用途

通道的用途,顧名思義就是通道的功能,直白一點就是用來干嘛的,分為收款、付款、認(rèn)證、跨境等。

收款通道:常說做支付要先做收單,收款通道就是實現(xiàn)讓別人的“資產(chǎn)”付給自己的通道,打比方有早餐店“掃碼支付”收錢立牌、線下商超的POS機(jī)支付、各類公交地鐵卡和乘車碼。出款通道:“出來混總是要還的”,出款通道能夠?qū)崿F(xiàn)把自己的錢付給別人,好比公司給我們發(fā)工資的代付通道、靈活用工通道、銀企直連通道。鑒權(quán)通道:鑒權(quán)通道可以被想象成一條連接交易雙方之間的安全通道,要先經(jīng)過驗證,才能通往支付之門。常見有銀行卡簽約驗證;身份信息認(rèn)證(四要素等),像賬戶的一些實名認(rèn)證以及銀行卡的綁定都需要用到;3D-Secure(3DS),一種用于網(wǎng)上支付的安全協(xié)議;指紋識別、面部識別等生物識別技術(shù),通過授權(quán)人的生物特征來進(jìn)行鑒權(quán)。

2)根據(jù)通道支持的對象

通道支持的對象,指的是支付交易的雙方是誰,可以是個人、企業(yè)、組織等,通常我們區(qū)分為對公和對私。

對公通道:用于企業(yè)賬戶支付,包括企業(yè)網(wǎng)銀,企業(yè)賬戶代扣,企業(yè)轉(zhuǎn)賬等等。對私通道:用于個人賬戶支付,包括銀行卡支付,微信、支付寶等三方個人賬戶支付。

3)按渠道提供方分類

其實支付通道是分層次的,下層為上層服務(wù)。不同的角色(按有無支付牌照、金融資質(zhì)區(qū)分)對應(yīng)所需的通道提供方是不同的。

對于普通企業(yè):通道的提供方是具有支付牌照的三方公司如支付寶、微信支付;各個銀行;或者是企業(yè)自己內(nèi)部搭建的虛擬賬戶支付通道、卡券支付通道、積分支付通道等。對于三方支付機(jī)構(gòu):那些有支付牌照,能對外提供支付能力的三方機(jī)構(gòu),他們需要的通道則是金融機(jī)構(gòu)(銀行、網(wǎng)聯(lián)、銀聯(lián))的核心系統(tǒng)。對于銀行:銀行所需的通道就是央行(也就是人行)的大小額系統(tǒng)、超級網(wǎng)銀系統(tǒng),這幾個通道也是金融活動的根基。

4)其他分類

根據(jù)支付方式:就是用戶在平臺下單后調(diào)起收銀臺看到各種各樣支付方式,包括云閃付、支付寶、微信支付、Apple Pay等。如京東PC收銀臺就有2個支付品牌,京東支付和微信支付;3個支付方式,白條、小金庫、微信掃碼支付。

根據(jù)支付場景:包括線上支付、線下支付、跨境支付等。假設(shè)你深夜餓了,通過餓了么點外賣之后支付寶線上支付,或者出去樓下實體店面吃一碗隆江豬腳飯用二維碼線下支付,然后早上醒來后像梁朝偉一樣去倫敦喂鴿子,想喝一杯咖啡就需要用到跨境支付了。根據(jù)支付保障機(jī)制:包括擔(dān)保交易(拍賣網(wǎng)站的拍賣交易就是一種擔(dān)保交易方式)、中介支付(像電商支付平臺,買家付款后會將資金凍結(jié),待確認(rèn)收貨后才會把錢付給賣家)、風(fēng)控評估(例如,貸款公司對借款人進(jìn)行風(fēng)險評估,判斷其還款能力和信用水平)等。

對支付通道有了初步的認(rèn)識之后,我們來假定以下這樣一個場景。假如你的公司要上線一個新業(yè)務(wù),涉及到線上交易,需要你來負(fù)責(zé)接入支付,你會怎么處理。

3. 支付通道的結(jié)構(gòu)關(guān)系

要深如了解支付通道,我們還需要知道一個通道在支付體系中所存在的結(jié)構(gòu)關(guān)系,這也是很多人容易混淆的,特別是支付方式、支付通道、支付品牌、支付產(chǎn)品、支付合作方之間的關(guān)系。

支付方式、通道和品牌上文已經(jīng)釋義過,而什么是支付產(chǎn)品呢,我們借用微信支付的定義,支付產(chǎn)品其實就是支付機(jī)構(gòu)針對某個支付場景,提供給外放使用的一套“解決方案”,其最基礎(chǔ)也是最核心需要包含“支付通道”和“賬戶”兩個服務(wù),然后才能結(jié)合不同的場景包裝出不同的產(chǎn)品。

1)支付通道-支付方式的關(guān)系

同一個支付方式,除了自身的官方通道,往往也會授權(quán)其他機(jī)構(gòu)合作封裝出對應(yīng)通道,所以一個支付方式是由多個支付通道可以選擇。

2)支付通道-支付合作方的關(guān)系

支付通道跟不同的合作方,又是處于什么關(guān)系呢。假設(shè)“光企業(yè)”要通過易票聯(lián)接入微信支付的通道,那這條通道跟各個機(jī)構(gòu)的關(guān)系如下。

3)支付通道-收付賬戶的關(guān)系

文章開頭咱們也講過,通道最終目的就算將不同收付賬戶之間的資金進(jìn)行轉(zhuǎn)移。以微信支付通道舉例,可以看到通道和賬戶之間的關(guān)系和資金的轉(zhuǎn)移。

4)普通商戶的支付通道結(jié)構(gòu)關(guān)系

作為一個普通的企業(yè),是有可能同時接入多個支付方式,因此也會有多條支付通道,那么這之間整體的關(guān)系又是怎么樣的呢。

5)普通商戶與金融機(jī)構(gòu)的支付通道結(jié)構(gòu)關(guān)系

再往下走就涉及到支付機(jī)構(gòu)和清結(jié)算機(jī)構(gòu)了。

通過上面的結(jié)構(gòu)關(guān)系分析,我們可以初步看出一個從用戶支付方式到各層支付支付組織之間的關(guān)系。

02 選擇支付通道

尋找合適的通道之前,我們來看下應(yīng)該怎么選。

假設(shè)你是光企業(yè)的物流運(yùn)輸部,你需要采購一輛貨車,那你肯定需要關(guān)注對應(yīng)貨車的屬性有哪些對吧?車型是普通貨車還是牽引車、載重總量是多少、要燃油車還是新能源等。

選通道也是,要知道通道都有哪些屬性,這些屬性就是我們在選擇時要思考的維度,這些屬性也是后續(xù)路由去判斷的維度依據(jù)。

了解了通道的屬性,就對通道有了更直觀的認(rèn)識,那么就可以基于需求區(qū)選擇所需要的通道了。

1. 基于業(yè)務(wù)和交易場景做選擇

要選擇什么通道,要先了解業(yè)務(wù)的場景,不同的業(yè)務(wù)模式需要不同的支付方式。例如,傳統(tǒng)的線下零售業(yè)務(wù)可以選擇POS機(jī)、微信支付寶的主掃、掃臉等,而線上平臺則需要根據(jù)不同的平臺進(jìn)行選擇。

打比方公司準(zhǔn)備依托微信小程序開發(fā)一款“針對園區(qū)等高密度打工人區(qū)域的午餐外賣”產(chǎn)品,則肯定是需要選擇接入“微信小程序支付”方式的通道,而不可能選擇支付寶。當(dāng)產(chǎn)品成熟了有余力了再考慮拓展其他平臺或者接入其他支付方式的通道。

2. 多維度指標(biāo)評估預(yù)選通道

選定好合作機(jī)構(gòu)之后,可以根據(jù)下表,評估該通道是否符合公司業(yè)務(wù)需求,評估滿足需求的話,就可以著手接入了。

3. 通道的接入流程

1)參與的團(tuán)隊成員及分工

2)對接準(zhǔn)備

步驟一:明確自身需求

對接之前,先確定自己的功能需求,比如我們是做演唱會票務(wù),用戶搶票之后是不允許退款的,那此時沒有退款功能也不影響第一期上線。另外如果咱們是租賃場景比如租房,需要向用戶收押金,但是退款往往有時限,這個時候就需要思考其他退款辦法了,比如接入打款通道。

步驟二:明確接口文檔

一般的支付公司為了方便廣大用戶使用,提供各種不同的接口,相同的功能也進(jìn)行多變的實現(xiàn)。所以我們跟對方講清需求后,對方開發(fā)人員通常比你更熟悉接口的使用和效果,他們很可以幫助我們快速找到最優(yōu)的接口方案。

另外,很多合作方的文檔都可能存在更新不及時問題,可以跟對方確定清楚用哪個板本的文檔。

步驟三:研讀接口文檔

必須弄清你需要哪些接口后,我們要看清楚接口字段值怎么傳、是否必傳,以及有什么響應(yīng)碼。另外注意要和對方確定好返回結(jié)果是以碼為準(zhǔn),還是以描述為準(zhǔn)。

步驟四:輸出需求文檔

包含接入的背景,羅列功能點,第一期做哪些。

這里先強(qiáng)調(diào)一個支付中和退款中的問題,一定要牢記設(shè)計支付狀態(tài)要考慮中間狀態(tài),以免產(chǎn)生線上問題。

此外安全類對接準(zhǔn)備也需要提前溝通清楚,如IP地址白名單是否配置,怎么配置;公私鑰加簽驗簽;接口加密解密;是否需要專網(wǎng)、前置機(jī)堡壘機(jī)等,作為普通企業(yè),如果不是對接銀行核心系統(tǒng)的話,一般是不需要前置機(jī)堡壘機(jī)。這個環(huán)節(jié)你也可以拉上開發(fā)大哥協(xié)助評估。

03 通道管理系統(tǒng)設(shè)計

選擇好要接入的之后,我們就需要規(guī)劃我們的通道管理模塊,以避免后續(xù)支付業(yè)務(wù)壯大了,最基礎(chǔ)的模塊卻一團(tuán)糟,因為很多人都是圖快,先干上線,等到發(fā)現(xiàn)好亂了的時候,已經(jīng)為時已晚。

規(guī)劃通道管理模塊之前,我們先看下通道管理在整個業(yè)務(wù)系統(tǒng)中是在哪里發(fā)揮作用的。

上游系統(tǒng)選擇完通道,就可以拉起對應(yīng)的支付、退款、打款請求了。

接著我們就來分析,我需要為通道管理規(guī)劃什么樣的功能。管理管理,首先咱們肯定得知道有什么通道,才能管理吧,因此肯定需要有一個通道管理列表。

1. 通道管理列表

這里以入金通道舉例子,接入通道之后,每一條通道都有唯一的通道名稱和編碼,這個好理解,就像每個人都有身份證和名稱一樣。然后再把通道關(guān)聯(lián)上支付方式和狀態(tài),沒有其他追求的話,這個通道管理也就能用起來了。

不過咱們還是要為以后打好基礎(chǔ),站在企業(yè)的角度,咱們是不是需要核算每一次支付產(chǎn)生,企業(yè)所要付出的成本,也就是通道手續(xù)費(fèi),此時我們就需要為該通道關(guān)聯(lián)對應(yīng)的“成本規(guī)則”;比如站在運(yùn)營/維護(hù)通道人員的角度,通道的一些商戶號、回調(diào)地址有時候也需要變更,我們是不是做成配置化會顯得更人性化;假設(shè)我們財務(wù)要知道每一筆支付是去到哪個賬戶,好去核對每天的賬目,那我們是不是需要在通道關(guān)聯(lián)“入賬賬戶”會讓后續(xù)的對賬更方便(注意這里不是指定真實的資金流渠道哪個賬戶,而是純粹的記錄,方便后續(xù)核賬)。

至于“映射通道代碼編碼”和“權(quán)重”,沒有也行。“權(quán)重”主要是為了方便路由去兜底一個支付通道。而“映射通道代碼編碼”作用是讓運(yùn)營和后續(xù)接手的開發(fā)知道,這一條我們“定義的通道”對應(yīng)是走那一套真實的通道代碼。闡述一個具體情況,當(dāng)我們公司接入某家公司同一條通道,但是出于商務(wù)等原因開通了幾個商戶號,這幾個商戶號要參與路由切換,而背后對應(yīng)的代碼,則是同一套。

所以一開始設(shè)計的時候,個人建議把我“不同真實通道+不同商戶號”為最小顆粒度,定義我們通道管理里的唯一通道。

2. 通道成本規(guī)則

通道成本規(guī)則我們設(shè)計成單獨配置規(guī)則,然后再從通道關(guān)聯(lián)對應(yīng)的成本規(guī)則,這樣就不用新增通道的時候反復(fù)配置同樣的成本規(guī)則。

遇到銀行卡通道的時候,不同的銀行收的費(fèi)用可能會不一樣,所以可以根據(jù)自身需求定義一個特殊銀行特殊配置,如果特殊銀行多的話,建議用導(dǎo)入配置文件的交互形式。

至于通道成本怎么用呢,其實就是在我們發(fā)起交易和退款的時候,讀取對應(yīng)通道的成本規(guī)則,計算出這一筆交易所產(chǎn)生的成本,并記錄在每一筆支付記錄里面,以后統(tǒng)計就可以很方便拉。

3. 通道參數(shù)配置

通道參數(shù)配置,一般是配置比較敏感的內(nèi)容,商戶號、請求地址等,記得做好菜單或者功能權(quán)限,專人專用。

04 銀行卡代扣通道接入實戰(zhàn)1. 接入背景

為給客戶提供更快捷、更優(yōu)秀的支付體驗,我們團(tuán)隊決定開發(fā)上線一個銀行卡代扣支付功能,讓用戶實現(xiàn)賬單的自動代扣支付,免去繁瑣的操作。

經(jīng)過公司領(lǐng)導(dǎo)層商議,決定接入PAF協(xié)議支付這條通道。

2. 研讀接口文檔

1)接口調(diào)用流程

通過接口調(diào)用流程,我們可以看出要銀行卡代扣通道,要完成支付之前,還需要進(jìn)行簽約兩步。

第一步調(diào)用協(xié)議簽約接口進(jìn)行簽約請求,下發(fā)短信給用戶,用戶輸入短信后調(diào)用協(xié)議簽約短信驗證接口驗證驗證碼,完成簽約;

第二步通過協(xié)議簽約返回的信息(簽約號)進(jìn)行協(xié)議扣款,并同步返回交易狀態(tài)。

弄清楚流程之后,我們繼續(xù)細(xì)看接口文檔。

2)簽約環(huán)節(jié)

①協(xié)議簽約接口

就是發(fā)起協(xié)議簽約申請,發(fā)起成功后會給持卡人下發(fā)一條短信。

可以看到這條通道申請協(xié)議簽約的時候,需要上送一個銀行編碼,并且這個編碼是要根據(jù)這條通道的定義來,看到這里我們就要聯(lián)想起兩個問題。

第一點,卡簽約的時候需要知道這張卡是什么銀行卡,這個后續(xù)跟大家介紹卡bin模塊。第二點是,不同無卡通道有可能存在的特殊標(biāo)準(zhǔn),使用的銀行編碼標(biāo)準(zhǔn)與其他不相同,這時可以回想我們的通道屬性和特征,就存在通道銀行編碼的對應(yīng)維護(hù)了。

這里再說一個點,有一些通道簽約信用卡的時候,需要上送CCV和有效期,而剛好這條通道不需要,因此前端簽約頁面也需要根據(jù)不同的通道進(jìn)行路由,從這里又印證了咱們通道管理和維護(hù)還是蠻重要的。

調(diào)用簽約申請之后,合作方會給持卡人手機(jī)發(fā)送短信,并接口返回一個令牌號。

②短信驗證接口

用戶輸入短信驗證碼后,接口上送驗證碼和令牌號,就可以完成短信驗證,驗證通過就可以簽約成功,獲取對應(yīng)的協(xié)議號。

3)扣款和退款環(huán)節(jié)

①扣款接口

拿到簽約協(xié)議號,則可以根據(jù)該協(xié)議號進(jìn)行發(fā)起扣款,咱們看接口說明,需要特別注意交易金額這個字段,單位是分,千萬要搞清楚交易金額的單位,別擺大烏龍。

另外咱們看到有一個后臺通知地址,他是我們發(fā)起扣款交易時,指定一個交易結(jié)果的通知地址,當(dāng)交易有結(jié)果后,通道方會將結(jié)果告訴我們,按照上述地址。像更嚴(yán)密的通道方還會要求接入方進(jìn)行結(jié)果響應(yīng),并且有一套完整的通知策略。

發(fā)起扣款之后,我們就需要關(guān)注扣款是否成功,可以看到響應(yīng)信息已經(jīng)說明這個操作成功僅代表請求成功,不代表交易成功。

因此這里重點說一聲,支付狀態(tài)一定要有支付中這個中間狀態(tài),以及要對支付中這個狀態(tài)有對應(yīng)的補(bǔ)償機(jī)制,不然很容易發(fā)生線上交易事故。當(dāng)你發(fā)起一筆交易的時候,還沒收到通道方的結(jié)果之前這一筆交易就是支付中,等到有回調(diào)結(jié)果或者主動查詢,再根據(jù)結(jié)果更改狀態(tài)。

另外我們也要關(guān)注,單筆交易有無最低金額限制,以及并發(fā)量最多是多少,能不能多線程。

順便再提一嘴,最好建議開發(fā)大哥在封裝支付和退款接口的時候,即使接入了很多不同的通道,建議也盡量封裝成一個統(tǒng)一的下單接口和回調(diào)接口給業(yè)務(wù)層用,可以避免很多麻煩。

以及一定要讓前后端大哥們記得做防抖!

②退款接口

退款也可以看到,金額單位是分,以及退款也需要加退款中狀態(tài),同扣款一樣就不贅述。

這種退款是原路退回,通道方會做好校驗,一般不太可能一筆支付多退了錢,倒是要考慮退款時效是多長(有的合作方限制交易半年或一年后就不能退款)、能不能部分退款、退款次數(shù)有沒有限制、同一筆支付能不能同時發(fā)起2次退款。

4)響應(yīng)碼

一般響應(yīng)碼有公共響應(yīng)碼和不同接口對應(yīng)的業(yè)務(wù)響應(yīng)碼,這里建議前期梳理出一些常見通用的響應(yīng)碼,并“翻譯”出用戶可讀懂的文字,以供展示。以及可以在報錯類的提示前面加上通道合作方英文,以方便定位是我們系統(tǒng)報錯,還是哪個通道方報錯。

如我們公司定義為DM,某通道方定義為PAF,則報錯內(nèi)容展示為PAF:XXXXX,就可以很快速定位到是通道方的報錯。

3. 功能規(guī)劃

1)用戶端簽約

考慮到用戶體驗問題,用戶綁卡簽約的時候最好就是不用自己輸入卡號和選擇所屬銀行。因此我們就要接入銀行卡OCR功能,以及需要根據(jù)OCR識別出來的卡號匹配到銀行卡所屬的銀行以及銀行卡的類型,才能根據(jù)通道方的要求來上送銀行編碼和卡類型,這個時候卡bin模塊就可以派上用場。

具體用戶端交互大家可以去參考支付寶、微信等大產(chǎn)品。

此外建議保留讓用戶手動選擇更改銀行卡所屬銀行的功能,避免卡號識別錯誤導(dǎo)致無法進(jìn)行簽約。

2)卡BIN管理

卡BIN是一種標(biāo)識銀行卡的編碼方式,又稱為銀行識別碼。它通常由6到9個數(shù)字組成,前幾位數(shù)字可以表明銀行卡所屬的銀行、卡的種類以及卡的國際標(biāo)準(zhǔn)組織(ISO)代碼等信息??˙IN在銀行卡的處理流程中非常重要,可以用來驗證卡的有效性、確定卡的類型及所屬銀行等信息。

國內(nèi)的卡表信息如下圖,一般跟通道方拿一下都會有。

經(jīng)過數(shù)據(jù)清洗之后,提取我們所需的信息,銀行卡中心的卡BIN管理就出來了。更加專業(yè)一點的公司甚至?xí)⒖˙IN圖標(biāo)配置進(jìn)來,以及將通道和卡BIN進(jìn)行匹配關(guān)聯(lián)維護(hù),做到更加精細(xì)化管理通道所支持的能力。

有了卡BIN之后,我們就能根據(jù)用戶輸入的銀行卡號匹配該卡所屬銀行。

匹配邏輯可以如下:

首先用銀行卡驗證luhn算法校驗卡號的正確性,如不正確可以提示用戶檢查修改卡號。其原理是將銀行卡號逐位相加,然后將結(jié)果與校驗碼比較。具體步驟如下:

從銀行卡號的最后一位數(shù)字開始,逆向?qū)⒚總€數(shù)字和它的位數(shù)做乘積。將這些乘積相加,得到一個和值。將和值除以模數(shù)(10)取余,得到校驗碼。如果校驗碼與銀行卡號的最后一位數(shù)字相同,則銀行卡號有效,否則銀行卡號無效。

以中國銀行卡為例,luha算法的模數(shù)為10,校驗碼為銀行卡號末位數(shù)字。

實際操作中,可以先將銀行卡號轉(zhuǎn)換為int類型,再進(jìn)行計算和比較。例如,以下代碼可以驗證一個銀行卡號是否有效:

“`python

def check_luhn(card_num):

num_list= list(map(int, str(card_num)))

fori in range(len(num_list)-2, -1, -2):

num_list[i]<<= 1

ifnum_list[i] > 9:

num_list[i]-= 9

ifsum(num_list) % 10 == 0:

returnTrue

else:

returnFalse

“`

其中,str(card_num)將card_num轉(zhuǎn)換為字符串,map(int, str(card_num))將字符串轉(zhuǎn)換為由每位數(shù)字組成的列表,然后進(jìn)行逆向乘積求和,并進(jìn)行校驗。

代碼來源:chatGPT,僅供參考。

目前銀聯(lián)卡幾乎都支持校驗碼算法,但是也不排除極個別不支持此算法的,如杭州銀行早期發(fā)行的西湖卡和浙江民泰商業(yè)銀行。

銀行卡號檢測正確之后,就從10位開始遍歷卡bin表,依次遞減至6位,直到找到唯一卡bin為止,并返回該卡bin對應(yīng)的銀行卡信息和所屬銀行。(目前國內(nèi)銀聯(lián)卡,因銀行眾多,特別是村鎮(zhèn)銀行的存在,BIN長度以6位占絕大部分,另外還存在7、8、9、10等位數(shù)卡BIN)。

如果要更嚴(yán)謹(jǐn),還可以匹配銀行卡長度對應(yīng)得上不。

3)銀行管理

銀行管理用于維護(hù)企業(yè)自己系統(tǒng)的標(biāo)準(zhǔn)銀行及編碼,為什么要加自己內(nèi)部的標(biāo)準(zhǔn)?

還記得上文說過的不同通道可能有不同的銀行編碼標(biāo)準(zhǔn)嗎?如果我們接了多個通道都有不同標(biāo)準(zhǔn)的銀行編碼,那么我們要根據(jù)我們自己的卡BIN,匹配我們標(biāo)準(zhǔn)的銀行編碼,再去映射不同的通道編碼。

再者當(dāng)我們沒有接入多個通道的時候,不用復(fù)雜的路由的時候,哪些銀行的儲蓄卡、信用卡是否支持簽約代扣,也可以放在此處去維護(hù)管理,當(dāng)前端識別到不支持的銀行的時候,則直接提示用戶換卡即可。

4)簽約記錄

簽約記錄,方便運(yùn)營/客服人員核實某個用戶某張卡的簽約狀態(tài),以應(yīng)對用戶的進(jìn)件咨詢和對外合作。

簽約數(shù)據(jù)結(jié)構(gòu)大家可以根據(jù)實際場景來設(shè)計,一種是卡號+商戶、一種是用戶+卡號+商戶。兩者靈活度不一樣,舉個場景,一個車隊老板名下掛靠了很多太車,分別不同司機(jī)在管理,但是都用老板或者公司的賬戶簽約代扣ETC通行費(fèi),如果某臺車離職了,如果簽約結(jié)構(gòu)是卡號+商戶,那把離職的司機(jī)的簽約關(guān)系解綁了,那老板名下所有簽約關(guān)系都解綁了。

然后關(guān)于簽約數(shù)據(jù),建議一開始就讓開發(fā)大哥們維護(hù)一份獨立的、統(tǒng)一的通道簽約數(shù)據(jù)層,用于記錄卡/賬戶信息在不同通道上的簽約或者驗證結(jié)果,以便路由層及其他業(yè)務(wù)場景可以據(jù)此來進(jìn)行重新簽約或者支付路由。

如果部維護(hù)統(tǒng)一的簽約數(shù)據(jù),而是業(yè)務(wù)各自去維護(hù),就會出現(xiàn)一個比較尷尬的現(xiàn)象,以我司舉例子,我們有客車和貨車業(yè)務(wù)線,但是同一個用戶同一張卡可能同時辦理了客車和貨車,簽約數(shù)據(jù)如果各自維護(hù),存在先后的簽約關(guān)系,在通道方舊的簽約號就會失效,失效的那一條業(yè)務(wù)線對應(yīng)的用戶就會扣款失敗。

同一張卡的簽約策略也是值得考究的,比如通道方是否允許重復(fù)簽約,重復(fù)簽約會返回什么樣的結(jié)果,這些都是要搞清楚的。

然后基于企業(yè)自身,重復(fù)簽約的時候是自己內(nèi)部走個驗證即可,還是重新上送通道方進(jìn)行簽約,這些也都要考慮好。如果通道方?jīng)]有限制,個人傾向重新上送通道方去做簽約,這樣可以及時更新已過期的簽約號。

有了統(tǒng)一的簽約數(shù)據(jù)的話,同一張卡我甚至可以根據(jù)業(yè)務(wù)需求,在用戶不同綁卡場景下判斷是否走另外的通道進(jìn)行簽約,為同一張卡增加多一個扣款通道。

5)通道異常應(yīng)急處理機(jī)制

最后再建議大家,可以在前期就考慮規(guī)劃下異常預(yù)警機(jī)制,比如某個通道連續(xù)簽約、扣款失敗,就要及時發(fā)出通知。

我們可以秉承下列3個原則設(shè)定處理機(jī)制,在通道出了異常之后快速響應(yīng),確保交易正常、規(guī)避損失、維護(hù)用戶體驗。

專業(yè):應(yīng)急規(guī)范及角色分工清晰;有序:應(yīng)急流程清楚簡單、為可執(zhí)行的標(biāo)準(zhǔn)化流程;快速:優(yōu)先恢復(fù)通道交易穩(wěn)定性,其次定位問題和提出解決方案。

萬丈高樓平地起,對于支付而言,支付通道管理是不可或缺的一環(huán),其他第三方底層服務(wù)也可沿用該思路進(jìn)行管理,希望本文能對大家?guī)韼椭?/p>

專欄作家

陳天宇宙,微信公眾號:陳天宇宙,人人都是產(chǎn)品經(jīng)理專欄作家。多平臺支付領(lǐng)域?qū)谧髡?,十年資深產(chǎn)品;專注為10萬支付產(chǎn)品經(jīng)理和支付機(jī)構(gòu)以及企業(yè)提供深度支付內(nèi)容和服務(wù)!

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

以上就是關(guān)于支付系統(tǒng)對接pos機(jī),接入和管理的知識,后面我們會繼續(xù)為大家整理關(guān)于支付系統(tǒng)對接pos機(jī)的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.rcqwhg.com/news/47577.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。