HSM KitHSM 工具箱
中文

ISO 8583 支付消息:结构、位图与数据元素

支付安全# ISO 8583# 位图# ATM# POS
最后更新: 2026年4月3日5 分钟阅读By HSM Kit Team
现在需要计算吗?
使用我们免费的在线 ISO 8583 位图解析器 工具。

ISO 8583 是金融交易消息的国际标准——每次您在 ATM 或 POS 终端刷卡,都会生成一条 ISO 8583 消息。本文解释该格式及如何解析它。

什么是 ISO 8583?

ISO 8583 定义了以下各方之间电子金融交易消息的格式:

  • ATM 与银行
  • POS 终端与收单机构
  • 收单机构与卡组织(Visa、Mastercard)
  • 银行间系统

该标准自 1987 年以来一直在使用,至今仍是全球支付处理的骨干。

消息结构

ISO 8583 消息由以下部分组成:

[MTI] [位图] [数据元素]

1. 消息类型标识符(MTI)

标识消息类型的 4 位代码:

MTI描述
0100授权请求
0110授权响应
0200金融交易请求
0210金融交易响应
0400冲正请求
0420冲正通知
0800网络管理请求
0810网络管理响应

MTI 由四个部分组成:

  • 版本:0(1987)、1(1993)、2(2003)
  • 消息类别:1=授权,2=金融,4=冲正,8=网络
  • 消息功能:0=请求,1=响应,2=通知,3=通知响应
  • 消息来源:0=收单方,2=发卡方,4=其他

2. 位图

位图是一个 64 位(8 字节)字段,指示消息中存在哪些数据元素。

  • 主位图:始终存在(64 位 = 字段 1-64)
  • 次位图:字段 1 置位时存在(字段 65-128)

每个位对应一个字段编号:

  • 第 1 位(第一字节 MSB)= 字段 1(次位图)
  • 第 2 位 = 字段 2
  • ...以此类推

示例:位图 F230040102C00000 表示字段 1、2、3、4、7、11、12、13、22、25、41、42 存在。

使用 ISO 8583 位图解析器 即时解码任何位图。

3. 数据元素

ISO 8583 定义了多达 192 个数据元素(字段)。常用字段:

字段名称类型长度
2主账号(PAN)LLVAR最多 19 位
3处理代码固定6
4交易金额固定12
7传输日期/时间固定10
11系统跟踪审计号(STAN)固定6
12本地交易时间固定6
13本地交易日期固定4
22POS 输入模式固定3
35磁道 2 数据LLVAR最多 37
37检索参考号固定12
38授权识别响应固定6
39响应码固定2
41卡受理终端 ID固定8
42卡受理方代码固定15
49货币代码固定3
52PIN 数据(加密)固定16
55ICC 数据(EMV)LLLVAR最多 255
64MAC(主)固定16
128MAC(次)固定16

响应码

字段 39 包含响应码:

代码含义
00批准
05不予受理
12无效交易
14无效卡号
51余额不足
54卡已过期
55PIN 错误
91发卡方不可用
96系统故障

ISO 8583 中的 PIN

字段 52 包含加密的 PIN 块(通常为 8 字节 / 16 个十六进制字符)。PIN 在放入此字段前使用 PIN 加密密钥(PEK)加密。

PIN 块格式(通常为 ISO 9564 格式 0)将 PIN 与 PAN 结合。详见 PIN 块指南

ISO 8583 中的 MAC

字段 64 和 128 包含消息认证码,用于验证消息完整性。MAC 使用 MAC 密钥对特定字段计算。

详见 MAC 算法指南

AS2805——澳大利亚 EFTPOS

AS2805 是基于 ISO 8583 的澳大利亚标准,在字段定义和 MAC 计算上有一些差异。

使用 AS2805 消息解析器 进行 AS2805 专用解析。

ATM NDC 和 Wincor 协议

ATM 通常使用厂商专有协议:

  • NCR NDC:NCR ATM 使用
  • Wincor/Diebold:Wincor Nixdorf ATM 使用

这些是封装 ISO 8583 消息的更高层协议。消息解析器 支持 NDC 和 Wincor 格式。

实践:解析一条交易消息

给定原始 ISO 8583 消息:

0200F230040102C000000000000000001600412345678901234500000000010000...
  1. 前 4 个字符:MTI = 0200(金融交易请求)
  2. 接下来 16 个字符:主位图 = F230040102C00000
  3. 解析位图找出存在哪些字段
  4. 按顺序读取每个字段

使用 ISO 8583 位图解析器 解码位图。

在线工具

相关工具
ISO 8583 位图解析器