跳至正文

2026 年 8 月 20 日 · 阅读时长 17 分钟

卡 BIN 全解:银行卡的「身份证号」如何影响支付

在网上刷卡购物时,为什么刚输入卡号前 6 位或 8 位,网站就能认出这可能是中国工商银行发行的 Visa 信用卡?秘密就藏在卡号开头的卡 BIN 里。

BIN 很像银行卡的「身份证地址码」。它不包含姓名和余额,但能告诉支付系统这张卡大致从哪里来、属于什么产品,以及后续应该怎样处理。

1. 什么是卡 BIN?银行卡的「身份证号」

银行卡正面的长串数字叫做 Primary Account Number(PAN,主账号)。很多资料沿用 13 到 19 位 的口径;ISO 关于 8 位 IIN 的现行公开说明给出的范围是 10 到 19 位。在日常支付中,最容易遇到的是下面几种:

  • 16 位卡号: 全球最常见的信用卡和借记卡格式,Visa、Mastercard 中很常见。

  • 15 位卡号: American Express(运通卡)的标准格式。

  • 19 位卡号: UnionPay(银联)借记卡中很常见。结构上可以写成 622202 1234567890 12*,最后一位用 * 代替,避免展示完整卡号。

  • 18 位卡号: 部分存量农信社卡或特定储蓄卡可以见到。

为什么要用更长的卡号?因为 BIN 和最后一位校验码占掉固定位置后,剩余数字越多,发卡机构能分配的个人账号就越多。

以 19 位卡号和 8 位 BIN 为例,去掉 8 位 BIN 和最后 1 位校验码,还剩 19 - 8 - 1 = 10 位个人账号。理论上,一个 BIN 下就有 10^10,也就是 100 亿个账号组合。实际发卡数量还会受到保留号段、产品划分和卡组织规则限制。

把 PAN 拆开看,可以看到下面几部分:

  1. MII(Major Industry Identifier): 卡号第一位,表示发卡机构所属的行业类别。MII 不是 BIN 前面的独立字段,而是 BIN/IIN 的第一位。

  2. BIN/IIN: 卡号开头的一段数字,用来标识发卡机构。传统 BIN 是 6 位,现行新分配的 IIN 是 8 位。

  3. 个人账号(Individual Account Number): 中间的一段数字,由发卡机构分配,用来区分具体账户。

  4. 校验码(Check Digit): 卡号最后一位,通常使用 Luhn 算法,也叫模 10 算法。它主要用来发现输错数字或顺序颠倒,不是安全加密。

BIN 是 Bank Identification Number,IIN 是 Issuer Identification Number。支付行业习惯说 BIN,ISO 标准使用 IIN,本文沿用行业常说的 BIN。

BIN 里藏着哪些信息

输入卡号后,支付网关会拿前缀查询 BIN Table,通常能查到四类核心信息:

  1. 卡组织(Scheme): Visa、Mastercard、UnionPay、JCB 还是 American Express。

  2. 发卡机构(Issuer): 是美国的 Chase、加拿大的 RBC,还是中国工商银行,以及发卡国家或地区。

  3. 账户资金属性(Type): Credit、Debit 还是 Prepaid,也就是信用卡、借记卡或预付卡。

  4. 卡片等级(Card Level): 普卡、金卡、Signature(御玺卡)、Infinite(无限卡)或企业卡等产品等级。

只想快速判断时,可以先记住一个最直观的规律:4 是 Visa,5 是 Mastercard,6 是银联。 更准确地说,这些是常见号段的记忆方式,第一位只能让人快速猜出卡组织;系统要准确识别,仍然要查询完整的 BIN Table。

2. BIN 和 Account Range 有什么区别

申请和管理一个独立 BIN 需要卡组织会员资格、合规能力,还可能涉及申请费、年费和持续运营成本。实际发卡时,一个 BIN 往往还要继续切成更小的 Account Range(账号区间),分别交给不同卡产品或合作项目使用。

可以把 BIN 想成一栋写字楼,Account Range 就是楼里的不同楼层。整栋楼属于同一个 BIN,但每一层可以住不同的项目:普通信用卡、企业卡、预付卡或某家 FinTech 的虚拟卡。

例如,一个 8 位 BIN 是 4123 4567。为了讲清楚概念,假设再用第 9 到 11 位区分产品:

  • 4123 4567 0004123 4567 099 用于普通信用卡;

  • 4123 4567 1004123 4567 199 用于企业卡;

  • 4123 4567 2004123 4567 299 用于预付卡。

在 16 位 PAN 中,这 300 个三位前缀后面还剩 4 位账号数字和 1 位校验码,理论上可以形成 300 万个卡号。这个例子只是帮助理解,真实的 Account Range 不一定固定取第 9 到 11 位,也可能直接用起止卡号表示。

为什么账号区间不能只记在自己的数据库里

卡组织是全球交易转接和清算的中枢。清算系统,例如 Visa Settlement Service(VSS)和 Mastercard Global Clearing Management System(GCMS),以及配套的参数系统,都要知道具体账号区间使用什么产品、地区、币种和清算规则。

如果一个区间只在发卡机构自己的系统里存在,外部收单机构和支付网关就不知道它代表什么。它们只能按 BIN 的默认属性处理,结果可能是:

  • 把企业卡识别成普通消费卡,交换费计算出现偏差;

  • 把账单币种或发卡地区识别错,DCC 判断异常;

  • 找不到正确的 3DS、Token 或授权路由参数。

因此,需要被支付网络识别的 Account Range,要按照对应卡组织、处理方和发卡项目的规则登记,并进入权威的 Account Range Table。卡组织或数据服务商再把更新后的 BIN Table 提供给收单机构和支付网关;有些数据服务按日更新,具体频率取决于供应方。

不同卡组织的报备方式和数据格式并不完全相同,但底层道理一样:写字楼重新分了楼层,也要让负责导航和结算的人拿到新楼层表。

3. 为什么 BIN 从 6 位变成了 8 位

过去几十年,行业主要使用 6 位 BIN。后来数字银行、FinTech 和 Virtual Credit Card(VCC,虚拟信用卡)大量增加,新的发卡机构和卡产品都需要号段,6 位编号空间开始吃紧。

ISO 因此把新 IIN 扩展到 8 位,主要卡组织在 2022 年前后完成相关迁移。简单看理论数字:

前缀长度理论组合数
6 位 BIN10^6,即 100 万种组合
8 位 IIN10^8,即 1 亿种组合

实际可分配数量会受到 MII、保留号段和卡组织规则限制,不能把理论组合数直接当成可申请的 BIN 数量。更准确的理解是:一个原来的 6 位 IIN,可以继续细分成 100 个 8 位 IIN。

因此,从纯数字空间看,8 位 IIN 比 6 位 BIN 扩大了 100 倍。

卡号长度不一定跟着变化

BIN 从 6 位变成 8 位,不代表银行卡号也要增加两位。变化的是卡号内部的分配方式。

以 16 位卡号为例,最后一位留给校验码。BIN 多占两位后,留给单个 BIN 分配个人账号的空间会少两位:

IIN 长度账户标识可用位数理论组合数
6 位9 位10^9,即 10 亿
8 位7 位10^7,即 1000 万

所以,8 位 IIN 扩大了全行业可分配的号段数量,但缩小了单个 16 位 IIN 下面的理论账号空间。这组数字只用于说明容量变化,不代表一个机构真的可以发满这些卡号。

匹配算法也要升级

6 位 BIN、8 位 IIN 和更长的 Account Range 会长期并存。如果系统还只取前 6 位,再用 SQL 做一次 = 精确查询,后面的精细号段就会被忽略。

常见做法是使用 Radix Trie(前缀树)和 Longest Prefix Match(LPM,最长前缀匹配):先尝试最长、最具体的 Account Range,再依次退回 8 位 IIN 和 6 位 BIN。

数据量不大时,也可以先用 SQL 作为简单方案:

SELECT prefix, issuer, card_type, card_level
FROM bin_ranges
WHERE LEFT(:pan, prefix_length) = prefix
ORDER BY prefix_length DESC
LIMIT 1;

如果数据服务商提供的是起止卡号,而不是前缀,就要按区间查询。无论用 Trie、前缀索引还是 SQL,规则都是同一个:匹配结果冲突时,优先使用更具体的号段。

4. 卡 BIN 在跨境支付中的六个应用

明白 BIN 是什么之后,再看跨境支付公司和电商网站怎样用它省手续费、提高成功率和防风险。

应用一:智能路由,帮商户省手续费、提高成功率

假设一家跨境商户在德国有本地公司,也接入了德国收单机构。德国发行的卡来付款时,网关通过 BIN 认出发卡国家,就可以把符合条件的交易送到本地通道。这样通常能减少跨境处理成本,也更符合当地银行熟悉的授权路径。

借记卡还有一层选择。识别为 Debit Card 后,网关可以在可用的借记卡网络中选择;识别为 Credit Card,则走对应的信用卡网络和处理规则。

美国在 2010 年通过 Durbin Amendment,后续 Regulation II 对适用的 Debit Card 提出了多网络要求:卡片要能通过至少两个互不隶属的网络处理。比如主网络是 Visa,另一个候选网络可能是 STAR 等独立借记卡网络。

这给了商户和收单机构选择权,也让不同网络在费率上形成竞争。网关先用 BIN 判断卡片类型和候选网络,再结合通道是否可用、费率和授权表现选择路径。BIN 帮助缩小范围,但不会单独决定最终路由。

应用二:识别卡片等级,估算交换费

为什么商户收到 Infinite、Corporate Credit,或者俗称「黑卡」的高端卡付款时,手续费经常比普通借记卡高?因为这些卡可能带有返现、保险、机场权益或企业服务,背后对应不同的 Product Code 和 Interchange 费率项目。

网关通过 BIN 查到 Debit、Credit、Prepaid 和 Card Level,就能预估这笔交易的处理成本。直观地说,受法规限制的借记卡费率通常较低,高端信用卡和企业卡通常较高。

用具体量级来建立直觉:美国受 Regulation II 约束的借记卡基础上限约为 $0.21 + 0.05%,符合条件的发卡行还可能增加反欺诈调整;一些高端或企业信用卡费率项目可能落在约 2.0% 到 2.95%。这些数字只用于理解差异,具体费率会随地区、行业、交易方式和卡组织规则变化,最终仍以合同和清算结果为准。

应用三:触发 DCC 汇率报价

假设欧洲商户的商品标价是 100 EUR。持卡人输入卡号后,系统通过 BIN Table 判断这可能是一张以 USD 结算的美国卡。商户已经开通 DCC 时,页面就可以给出两个选项:

  • 100 EUR 按商户币种支付;

  • 以报价后的金额,例如 111.78 USD,按持卡人账单币种支付。

持卡人选择 USD,就是接受 DCC 报价;选择 EUR,就继续按商户币种支付。上面的 USD 金额只是示意,真实金额取决于当时汇率和转换费用。

商品币种与账单币种不同,是 DCC 判断的重要条件,但不是「只要不同就一定触发」。商户还要开通服务,交易也要符合收单机构规则,并且页面必须把汇率、转换费用和最终金额说清楚。

应用四:风控与欺诈拦截

BIN 常被用在两个很直观的风控判断里:

  • 地理位置冲突: 发卡国家是美国,交易 IP、GPS 或设备却出现在另一个高风险地区。

  • 预付卡限制: SaaS 订阅、免费试用或优惠活动不接受 Prepaid Card,或者要求这类卡完成 3DS。

系统可以据此提高风险分、拒绝不符合业务规则的卡,或触发 3DS。发卡国家与当前位置不同也可能只是正常旅行,因此 BIN 应和账户历史、设备、金额、失败次数等信号一起判断。

应用五:防范黑产的 BIN Attack

BIN 本身不是秘密。攻击者知道某个 BIN 后,会固定前缀并批量尝试后面的账号和校验位,再到支持小额扣款的商户接口测试哪些卡号有效。一个开放的 $0.01 试扣接口,就可能被当成试卡入口。

这类请求通常集中在同一个 BIN,下挂很多不同卡号,并伴随大量失败或小额验证交易。网关发现同一个 BIN 在几秒或几分钟内出现数百、数千个不同卡号时,会触发 Velocity Control(速度控制),短期限流、提高验证强度或强制 3DS。

实际规则还会结合 IP、设备、账户、商户和失败率,避免直接长期封禁整个 BIN,误伤同一银行的大量正常持卡人。

应用六:FinTech 通过 BIN Sponsorship 发卡

很多 FinTech 没有银行牌照或卡组织直接会员资格,却需要发行虚拟卡。常见做法是与持牌的 BIN Sponsor 合作,使用某个 BIN 下分出来的一段 Account Range。

可以继续用写字楼打比方:Sponsor 是房东,FinTech 租下其中一层,例如某个示意号段 4802 9900 0004802 9900 499。FinTech 可以用这段号码给自己的用户发卡和记账,但不会因此拥有整栋楼。Sponsor 仍要管理卡组织关系,并按监管要求监督项目。

5. 小白必知的卡号安全与 PCI DSS

处理卡号时,最先要记住两件事:能少展示就少展示,能不用真实卡号就不用真实卡号。

卡号脱敏:为什么通常是「前 6 后 4」

6 位 BIN 时代,常见的显示方式是前 6 位加后 4 位,例如 4123 45** **** 6789。中间账号被遮住,客服或持卡人仍能分辨是哪张卡。

到了 8 位 IIN 时代,不能想当然地把页面统一改成前 8 后 4,例如 4123 4567 **** 6789。这会比原来多暴露两位,而且不同 PAN 长度、支付品牌和业务角色允许显示的范围并不相同。

PCI SSC 的公开指南说明,first 6 / last 4 仍是各支付品牌共同接受的格式。业务确实需要显示前 8 位时,应先确认业务必要性,再按对应支付品牌、收单机构和 PCI DSS 要求评估,不能只因为 BIN 已经扩到 8 位就直接放开。

Tokenization:让替代卡号出面

另一种保护方式是 Tokenization。系统生成一个替代卡号处理交易,让商户和设备尽量不接触真实 PAN。Apple Pay 使用的设备卡号就是典型例子。

6. Token BIN 与网络令牌化

EMV Payment Tokenisation 使用 Payment Token 代替真实的 Funding PAN(FPAN)。Token 可以绑定某台设备、某个商户或某种支付场景。即使 Token 泄露,攻击者也很难把它拿到约束范围以外使用。

为什么要区分 Token BIN

Payment Token 可以使用专门的 Token BIN 或 Token Account Range。Visa Token Service(VTS)和 Mastercard Digital Enablement Service(MDES)就是卡组织提供的 Token Service Provider(TSP)实例。

Token 前缀会让支付网络把交易送入 Token 处理流程。这样做主要解决三个问题:

  1. 路由与 De-tokenization: 卡组织或 TSP 把交易送进受保护的 Token Vault,校验 Dynamic Cryptogram(动态密文),找到 DPAN 与原始 FPAN 的关系,再把交易交给发卡行授权。不同网络的报文实现可能不同,映射关系不会暴露给商户。

  2. 使用范围控制: Token 可以和设备、商户或支付场景绑定。在别的设备或商户使用时,验证会失败。

  3. 风控与计费识别: 支付网络可以识别这是一笔 Token 交易,使用对应的风控和清算规则。部分项目可能有不同费率,但 Token BIN 本身不等于自动获得优惠交换费。

Token BIN 也不一定保留原卡的发卡国家、卡片类型和 Card Level。商户如果只查 Token 前缀,得到的可能是 Token 属性,而不是原始 FPAN 的全部属性。

Apple Pay 绑卡和支付发生了什么

Apple 官方文档把设备里的替代卡号称为「设备卡号」,支付行业也常称它为 Device PAN(DPAN)。用户看起来只是把卡加进 Wallet,底层其实完成了「申请 Token」和「把 Token 安全写入设备」两步。之后每次支付,设备发送的也是 DPAN 和本次交易的一次性安全数据,而不是真实 PAN。

绑卡

  1. 请求 Token: 用户输入或选择实体卡,Wallet 加密发送真实卡号和设备信息。

  2. 身份验证: 发卡行判断这张卡能否加入,并可能要求短信验证码、银行 App 或客服电话等 Identification and Verification(ID&V)。

  3. 生成设备卡号: 验证通过后,TSP 创建一个与原账户关联的设备卡号。

  4. 安全写入设备: 设备卡号和支付凭证写入 Secure Element(安全元件)。Apple 官方说明,完整卡号不会保存在设备或 Apple Pay 服务器中。

支付

  1. 持卡人确认: 用户通过面容、指纹、设备密码或 Apple Watch 确认付款。

  2. 设备生成安全数据: Secure Element 生成本次交易的一次性安全码,并通过 NFC 把设备卡号和安全数据交给 POS 终端。

  3. 收单机构送入卡组织: POS 和收单机构看到的是 DPAN,不需要拿到真实 PAN。

  4. Token 校验与授权: 卡组织或 TSP 识别 Token BIN,在 Token Vault 中校验 Token 和 Dynamic Cryptogram,再通过受保护的账户关系向发卡行请求授权。发卡行批准或拒绝后,结果沿原路返回。

附录:全球 BIN 由谁分配

Visa、Mastercard、UnionPay、JCB、American Express、Discover、Eftpos 等网络都在发行卡,怎样避免两家机构拿到冲突的号码?可以把全球 BIN 分配理解成三级体系:ISO 定规则,Registration Authority 管登记,卡组织和发卡机构按规则使用号段。

第一层:ISO 和 Registration Authority

ISO/IEC 7812 定义 IIN 的结构、长度和分配原则。American Bankers Association(ABA)担任 Registration Authority,当前相关注册服务由 CUSIP Global Services 提供。

这里容易出现一个误解:制定标准、负责注册和实际给银行分配卡组织号段,不是同一件事。ISO 制定规则,Registration Authority 管理顶层登记,卡组织再按各自规则管理网络内的 BIN。

第二层:卡组织管理自己的号段

卡组织像号段的批发管理者。几个最容易记住的例子是:

  • Visa 的主要号段以 4 开头;

  • Mastercard 的常见号段包括 5155,以及 222100272099

  • UnionPay 的主要号段常见 62

  • American Express 常见 3437

这些数字适合帮助人快速理解,但系统仍然要使用卡组织或处理方发布的完整范围数据。卡组织拿到大范围后,还要根据会员、地区和卡产品规则,把具体 BIN 或 Account Range 分给发卡项目。

第三层:银行和 FinTech 把号段变成卡

最终把号码发给持卡人的,是银行和其他符合条件的发卡机构。常见有两条路。

途径 A:Direct Member

持牌银行或其他符合条件的机构成为卡组织正式会员后,可以按发卡规模、卡片类型和地区申请 BIN,再用分到的号段发行 Debit、Credit、Prepaid 或其他卡产品。

途径 B:BIN Sponsorship

没有银行牌照或卡组织直接会员资格的 FinTech,可以与 BIN Sponsor 合作,使用 Sponsor 指定的 Account Range 发卡。Sponsor 是 BIN 的持有和管理方,FinTech 是该账号区间的产品运营方,负责产品、用户和日常运营;Sponsor 继续管理卡组织关系、合规要求和号段使用。

所以,BIN Sponsorship 不是把 BIN 所有权转给 FinTech,更像房东允许租户使用一层楼。双方具体负责什么,仍由当地法规、卡组织规则和合同决定。

参考资料

CO

我是 Cooper,一名生活在中国的开发者,多年来一直在家远程工作。

主要使用 Go、PHP 和 Rust,从事移动端、Web、跨境支付与资金系统开发。目前主要采用 Vibe Coding 构建产品,并以真实运行结果完成验证与交付。