EMV 二维码规范涵盖什么
EMVCo 的 EMV 二维码规范定义了支付数据在普通二维码中如何排布。它有两种模式。在商户展示模式(MPM)下,商户展示二维码,顾客用银行或钱包应用扫描。在消费者展示模式(CPM)下,顾客的应用显示二维码,商户在收银台扫描。
该规范并不创建支付网络,它只是一种共同的数据格式,所以国家级体系或卡组织可以加入自己的账户信息,同时保持其余内容不变。这就是为什么巴西的 Pix、泰国的 PromptPay、新加坡的 SGQR、马来西亚的 DuitNow、印度尼西亚的 QRIS、越南的 VietQR 和印度的 Bharat QR 在结构上都很相似。
内容如何组织
MPM 内容是由一串数据对象组成的字符串,每个对象写成两位数的 ID、两位数的长度,以及值。例如,5303840 表示 ID 53(交易币种),长度 03,值 840(以 ISO 4217 数字代码表示的美元)。对象一个接一个,没有分隔符,有些 ID 是模板,里面按相同格式包含自己的嵌套对象。
内容必须以 ID 00 开头,以 ID 63(校验和)结尾。校验和是一个 CRC-16/CCITT-FALSE 值,写成四个十六进制字符,对它之前的所有内容(包括字符 6304)计算得出。扫描器如果算出不同的校验和,就会拒绝该二维码,从而能发现大多数输入或复制错误。
- 00:内容格式指示符,始终为 01
- 01:发起方式,11 表示静态,12 表示动态
- 26–51:商户账户信息模板
- 52:商户类别码(MCC)
- 53:币种(ISO 4217 数字代码)和 54:金额
- 58:国家代码,59:商户名称,60:城市
- 62:附加数据,例如账单或参考号;63:CRC
静态码与动态码
静态 EMV 二维码(发起方式 11)只印一次,重复使用,由顾客输入金额。动态码(发起方式 12)为单笔交易生成,通常带有金额和参考号,所以顾客只需确认。印在柜台的贴纸通常是静态的,而结账屏幕或发票上的码通常是动态的。