干貨丨銀行卡號(hào)編碼規(guī)則及其應(yīng)用

3 評(píng)論 24812 瀏覽 138 收藏 5 分鐘

綁卡時(shí)輸入銀行卡號(hào)后識(shí)別出銀行和卡種是如何做到的?為什么能夠在卡號(hào)輸入有誤時(shí)進(jìn)行友好提示?本篇文章將為大家揭曉。

在閱讀本篇文章時(shí),強(qiáng)烈建議大家參考本人之前發(fā)布的文章《綁卡產(chǎn)品設(shè)計(jì)》,以便加深對(duì)本篇文章的理解。

一、銀行卡結(jié)構(gòu)

XXXXXX XXXXXXXXXXXX X

發(fā)卡行標(biāo)識(shí)代碼 自定義位 校驗(yàn)碼

根據(jù)ISO標(biāo)準(zhǔn),銀行卡長(zhǎng)度一般在13-19位,國(guó)際上也有12位的。銀聯(lián)標(biāo)準(zhǔn)卡卡長(zhǎng)度一般是在16-19位,雙組織卡也有13-19位的。

二、發(fā)卡行標(biāo)識(shí)代碼

發(fā)卡行標(biāo)識(shí)代碼Bank Identification Number(BIN),又叫發(fā)卡機(jī)構(gòu)標(biāo)識(shí)代碼Issuer Identification Numbers(IIN)。一般由6位數(shù)字組成,2014年底,國(guó)際標(biāo)準(zhǔn)組織(ISO)已經(jīng)將BIN由6位數(shù)字調(diào)整到8位數(shù)字。目前國(guó)內(nèi)銀聯(lián)卡,因銀行眾多,特別是村鎮(zhèn)銀行的存在,BIN長(zhǎng)度以6位占絕大部分,另外還存在7、8、9、10等位數(shù)卡BIN。

發(fā)卡行標(biāo)識(shí)代碼第一位,為發(fā)卡行業(yè)標(biāo)識(shí)號(hào)Major Industry Identifier(MII),代表的是發(fā)卡機(jī)構(gòu)所處行業(yè)。具體分配規(guī)則如下:

94eca39c517f541b0e12455923751703_r

目前銀聯(lián)標(biāo)準(zhǔn)卡以62開(kāi)頭,各銀行再向銀聯(lián)進(jìn)行卡BIN申請(qǐng),如622848開(kāi)頭的卡為農(nóng)行借記卡。我們發(fā)現(xiàn),銀聯(lián)卡不都是以62開(kāi)頭,主要有2種情況。第一種是雙組織卡,如銀聯(lián)、運(yùn)通雙組織卡,一般以信用卡居多,如招行與運(yùn)通合作的運(yùn)通卡。另外一種即早期以9開(kāi)頭的銀行卡,這些卡都是國(guó)內(nèi)自行分配的,僅限國(guó)內(nèi)使用,無(wú)法與國(guó)際進(jìn)行接軌。以下為部分常見(jiàn)卡組織發(fā)行的銀行卡起始數(shù)字:

4f233be5436a12cb1cf865643e0498bc_b

銀聯(lián)卡,通過(guò)卡BIN能獲取到的信息不僅僅是發(fā)卡行,還能確定該卡卡種、卡名稱、卡號(hào)長(zhǎng)度等信息。以下為部分卡BIN信息列舉:

6e09d2d8c1ede21b048b637df548dbc5_r

因此,只要能獲取到比較全面的卡BIN數(shù)據(jù),就能判斷出銀行卡發(fā)卡行及卡種。目前支付寶、微信等大部分主流需要綁卡的應(yīng)用都是如此實(shí)現(xiàn)。

二、自定義位

發(fā)卡行自定義位,一般在6-12位。

三、校驗(yàn)碼算法

校驗(yàn)碼為銀行卡號(hào)最后一位,采用LUHN算法,亦稱模10算法。計(jì)算方法如下:

第一步:從右邊第1個(gè)數(shù)字開(kāi)始每隔一位乘以2;

第二步: 把在第一步中獲得的乘積的各位數(shù)字相加,然后再與原號(hào)碼中未乘2的各位數(shù)字相加;

第三步:對(duì)于第二步求和值中個(gè)位數(shù)求10的補(bǔ)數(shù),如果個(gè)位數(shù)為0則該校驗(yàn)碼為0。

舉例:

6259 6508 7177 209(不含校驗(yàn)碼的銀行卡號(hào))

第一步:6*2=12,5*2=10,6*2=12,0*2=0,7*2=14,7*2=14,2*2=4,9*2=18

第二步:1+2 + 1+0 + 1+2 + 0 + 1+4 + 1+4 + 4 + 1+8 = 30

30 + 2+9+5+8+1+7+0 = 62

第三步:10-2=8

所以,校驗(yàn)碼是8,完整的卡號(hào)應(yīng)該是6259650871772098。

值得指出的是,目前銀聯(lián)卡幾乎都支持校驗(yàn)碼算法,但是也不排除極個(gè)別不支持此算法的,如杭州銀行早期發(fā)行的西湖卡。

 

作者:MrColin,支付結(jié)算產(chǎn)品經(jīng)理,略懂技術(shù)。對(duì)支付結(jié)算感興趣的,可知乎 @MrColin

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 如果大家對(duì)支付結(jié)算或相關(guān)產(chǎn)品感興趣,請(qǐng)移步本人知乎專欄獲取干貨
    https://zhuanlan.zhihu.com/mrcolin

    來(lái)自浙江 回復(fù)
    1. 這種卡bin數(shù)據(jù)哪里可以獲得哇

      來(lái)自上海 回復(fù)
  2. 謝謝作者??

    回復(fù)