一张卡在令牌化之后对应两个号:
| 叫法 | 含义 |
|---|---|
| FPAN Funding PAN | 卡面上印的那串数字。账户余额、额度、账单都挂在它下面 |
| DPAN Device PAN,即令牌 | 替身号。位数与 FPAN 同量级,同样过 Luhn,同样是纯数字,在报文里与真实卡号形态一致 |
令牌是一个格式合法的卡号,落在专门划给令牌的 BIN 号段里。这个设计让受理端、收单端、报文网关不必改动解析逻辑,仍按卡号处理。
随之而来的约束是:只看 DE 2 的字节,分不出手里是卡面号还是令牌。要分辨得依赖令牌 BIN 号段,而这类号段由卡组织下发给收单方,不在公开 BIN 表里。BIN 本身的读法见卡 BIN 是什么。
签发方是 TSP(Token Service Provider,令牌服务方)。两大卡组各有一套:Mastercard 的 MDES、Visa 的 VTS。TSP 承担三件事:签发令牌、保管 DPAN 与 FPAN 的对应关系、在交易过程中完成两者的替换。
申请令牌的一方是令牌请求方(Token Requestor),持有一个 TRID(Token Requestor ID)作为身份。常见的请求方有三类:
同一张卡在不同请求方处会拿到不同的令牌:绑在手机上的和存在某个电商处的,是两个 DPAN。PAR 一节给出把它们归并回同一账户的方式。
令牌化交易在 ISO 8583 报文里不新增自定义结构,有四个域的读法需要调整:
| 域 | 令牌化交易里的表现 |
|---|---|
| DE 2 主账号 | 装 DPAN。格式、长度前缀、Luhn 校验与普通卡号一致 |
| DE 14 有效期 | 经常为空。令牌有自己的有效期,与卡面印的那个是两回事,卡面有效期由卡组织保管。此处缺失不构成异常 |
| DE 22 进入方式 | 手机钱包的非接交易通常取 07(完整非接 EMV);电商场景的令牌交易落在 81 这类无卡取值上。见 DE22 进入方式代码 |
| DE 55 EMV 数据 | 钱包类令牌交易携带令牌密文,每笔一变,验证的是这个令牌此刻由已授权的设备使用。结构仍是 TLV,见 DE55 深入 |
替换回卡面号(de-tokenization)由卡组织侧完成:报文往发卡行走的路上,TSP 把 DPAN 换回 FPAN。发卡行最终看到哪一个号,取决于该发卡行的接入方式,有的接入形态下两个号都能拿到。排查「DE 2 到底是哪个号」时,先确认自己站在链路的哪一段。
同一张卡对应多个令牌,会打断三件事:风控画像、忠诚度积分、按卡号做的对账。PAR(Payment Account Reference,支付账户参考号)为此设计:一个 29 位的字母数字串,同一个底层账户下的所有令牌与卡面号共享同一个 PAR。
PAR 不能用来发起交易,也不能反推出 FPAN。它回答的是「这几笔交易属不属于同一个账户」。做用户画像、重复交易识别、跨渠道对账时,用它当键比用 DE 2 稳定。
令牌带使用域限制(domain restriction):签发时绑定了它能用在什么场景——哪台设备、哪个商户、哪个渠道、哪种进入方式。把一个绑在手机上的令牌拿去电商下单,卡组织侧会拒绝。
这条限制也解释了明文卡号与令牌在泄露后的差别:明文卡号在任何受理方都能用,令牌离开签发时限定的场景就不成立。
与风控相关的还有一条:把「有效期必填」写死在校验里,会把 DE 14 为空的钱包交易全部挡下。