输入码值或关键词即可定位。除了含义,更要紧的是判断这个码能不能重试——下面有说明。
| DE39 | 含义 |
|---|---|
00 | 批准 / 交易成功 · Approved / completed |
01 | 请与发卡行联系 · Refer to card issuer |
02 | 与发卡行特殊条件联系 · Refer to issuer, special condition |
03 | 无效商户 · Invalid merchant |
04 | 没收卡片 · Pick up card |
05 | 不予承兑 / 通用拒绝 · Do not honor |
06 | 错误 · Error |
07 | 没收卡片(特殊条件) · Pick up card, special condition |
08 | 批准(需身份证明) · Honor with identification |
10 | 部分批准 · Partial approval |
11 | 批准(VIP) · Approved (VIP) |
12 | 无效交易 · Invalid transaction |
13 | 无效金额 · Invalid amount |
14 | 无效卡号 / 无此卡 · Invalid card number |
15 | 无此发卡行 · No such issuer |
19 | 请重新交易 · Re-enter transaction |
20 | 无效响应 · Invalid response |
21 | 未做任何操作 · No action taken |
22 | 疑似故障 · Suspected malfunction |
25 | 找不到原交易记录 · Unable to locate record |
28 | 文件暂不可用 · File temporarily unavailable |
30 | 报文格式错误 · Format error |
31 | 银行不支持 · Bank not supported by switch |
33 | 卡已过期(没收) · Expired card, pick up |
34 | 疑似欺诈(没收) · Suspected fraud, pick up |
36 | 受限制的卡(没收) · Restricted card, pick up |
38 | 密码错误次数超限(没收) · Allowable PIN tries exceeded, pick up |
39 | 无信用账户 · No credit account |
40 | 不支持所请求功能 · Requested function not supported |
41 | 挂失卡(没收) · Lost card, pick up |
43 | 被盗卡(没收) · Stolen card, pick up |
51 | 余额 / 可用额度不足 · Insufficient funds |
52 | 无此支票账户 · No checking account |
53 | 无此储蓄账户 · No savings account |
54 | 卡已过期 · Expired card |
55 | 密码错误 · Incorrect PIN |
56 | 无此卡记录 · No card record |
57 | 不允许持卡人进行此交易 · Transaction not permitted to cardholder |
58 | 不允许终端进行此交易 · Transaction not permitted to terminal |
59 | 疑似欺诈 · Suspected fraud |
60 | 请联系受理方 · Contact acquirer |
61 | 超出取现金额限制 · Exceeds withdrawal amount limit |
62 | 受限制的卡 · Restricted card |
63 | 违反安全规定 · Security violation |
65 | 超出取现次数 / 需强认证 · Exceeds withdrawal frequency / SCA required |
68 | 响应超时 · Response received too late |
75 | 密码尝试次数超限 · Allowable PIN tries exceeded |
76 | 找不到账户 / 原交易 · Unable to locate account / original |
77 | 数据不符 / 对账错误 · Inconsistent data, reconcile error |
78 | 新账户未激活 / 已封锁首用 · Blocked, first use / inactive account |
79 | 已冲正 · Already reversed |
80 | 交易日期错误 / 未处理 · Invalid date / no action |
81 | 密码加密错误 · PIN cryptographic error |
82 | CVV 校验失败 / 发卡行不可用 · CVV failed / issuer unavailable |
83 | 无法验证 PIN · Unable to verify PIN |
84 | 无效授权寿命 · Invalid authorization life cycle |
85 | 账户核实成功(无扣款) · No reason to decline / account verified |
86 | 无法验证 PIN · Cannot verify PIN |
87 | 仅消费,不可返现 · Purchase amount only, no cashback |
88 | 加密失败 · Cryptographic failure |
89 | 认证失败 · Authentication failure |
91 | 发卡行或交换中心不可用 · Issuer or switch inoperative |
92 | 找不到交易路由 · Unable to route / no routing to issuer |
93 | 违反法律不能完成 · Cannot complete, violation of law |
94 | 重复交易 · Duplicate transmission |
96 | 系统故障 / 系统忙 · System malfunction |
N0 | 强制联机 / 强认证 · Force STIP / SCA |
N3 | 取现服务不可用 · Cash service not available |
N4 | 超出发卡行取现限额 · Cash request exceeds issuer limit |
N7 | CVV2 / CVC2 校验失败 · Decline for CVV2 failure |
P2 | 无效账单信息 · Invalid biller information |
Q1 | 卡认证失败 · Card authentication failed |
R0 | 持卡人取消定期扣款 · Stop payment order |
R1 | 持卡人撤销授权 · Revocation of authorization order |
R3 | 撤销全部授权 · Revocation of all authorizations |
Z1 | 脱机拒绝 · Offline declined |
Z3 | 无法联机,脱机拒绝 · Unable to go online, offline declined |
DE39 是发卡行或转接网络对一笔交易的最终判决,两位。00 是批准,其余都是拒绝或提示原因。查含义只是第一步,真正决定你系统行为的是下一个问题:这个码能不能重试。
软拒绝是"这次不行,换个时间可能行"——比如 51 余额不足、61 超出取现限额、91 发卡行不可用、96 系统故障。这类可以按退避策略重试,尤其是代扣、订阅这类场景。
硬拒绝是"这张卡就是不行"——比如 14 无效卡号、41 挂失卡、43 被盗卡、54 卡片过期、57 不允许此类交易。这类绝对不能重试:卡组织对高频重试拒绝交易有明确的罚则,重试率超标会被罚款,严重的会被限制接入。
05(不予承兑)当成软拒绝反复重试,是新接入方最常犯的错。05 是个笼统的通用拒绝码,发卡行可能因为风控、额度、卡状态等任何原因返回它——它更接近硬拒绝,最多只重试一次,且要间隔足够久。数字码 00–96 是 ISO 8583 的标准部分,各家基本一致。但字母码和一部分扩展码是各卡组自己定义的,同一个值在不同网络里含义可能不同。真实对接时以对方最新的规范文档为准,这张表用于快速定位和排查。
一个能耗掉半天的细节:DE39 在 ISO 8583 的 1987 版里是两个字符,1993 版起是三个。
本站的解析器按 an-2 读,因为大家贴进来的多数是 1987 格式的授权报文 ——
MTI 以 0 开头,比如 0100 或 0110。
这不是版本沿革的脚注。同一个卡组织内部两个版本是同时在跑的:授权走 1987 格式、清算走 1993 格式,
这就是为什么 Mastercard 的授权报文以 0 开头而清算报文以 1 开头。
于是同一笔被拒的交易,在授权那一腿带的是两字符响应码,在清算记录里是三字符的,
按其中一种写的字段映射会静默读错另一种。
两个实际后果。收到一个多出前导零的响应码,通常是版本不匹配而不是出现了新码值。 而从清算规范里抄来的对照表对不上授权流量 —— 这是「响应码不对」最后查出来是 「码值是对的,只是按错的宽度读了」的最常见原因。逐域对照在 授权与清算的差异。