ISO 标准校验器
粘贴 IBAN、日期、ISBN、货币代码等内容,立刻看出每一项符合哪种 ISO 标准,或者具体错在哪里。
所有校验都在你的浏览器中完成,粘贴的内容不会被上传或保存。
在上方粘贴内容,结果会显示在这里。
ISO 8583 reference: response codes and data elements
Look up what a DE 39 response code means, or what any data element (DE) holds and how long it must be.
| Code | Meaning | Result |
|---|---|---|
| 00 | Approved or completed successfully | Approved |
| 01 | Refer to card issuer | Declined |
| 02 | Refer to card issuer, special condition | Declined |
| 03 | Invalid merchant | Error |
| 04 | Pick up card (no fraud) | Pick up card |
| 05 | Do not honor | Declined |
| 06 | Error | Error |
| 07 | Pick up card, special condition (fraud) | Pick up card |
| 08 | Honor with identification | Approved |
| 09 | Request in progress | System |
| 10 | Approved for partial amount | Approved |
| 11 | Approved (VIP) | Approved |
| 12 | Invalid transaction | Error |
| 13 | Invalid amount | Error |
| 14 | Invalid card number (no such number) | Error |
| 15 | No such issuer | Error |
| 16 | Approved, update track 3 | Approved |
| 17 | Customer cancellation | Declined |
| 18 | Customer dispute | Declined |
| 19 | Re-enter transaction | Error |
| 20 | Invalid response | Error |
| 21 | No action taken | Declined |
| 22 | Suspected malfunction | System |
| 23 | Unacceptable transaction fee | Error |
| 24 | File update not supported by receiver | Error |
| 25 | Unable to locate record in file | Error |
| 26 | Duplicate file update record, old record replaced | Error |
| 27 | File update field edit error | Error |
| 28 | File update file locked out | Error |
| 29 | File update not successful, contact acquirer | Error |
| 30 | Format error | Error |
| 31 | Bank not supported by switch | Error |
| 32 | Completed partially | Approved |
| 33 | Expired card, pick up | Pick up card |
| 34 | Suspected fraud, pick up | Pick up card |
| 35 | Card acceptor contact acquirer, pick up | Pick up card |
| 36 | Restricted card, pick up | Pick up card |
| 37 | Card acceptor call acquirer security, pick up | Pick up card |
| 38 | Allowable PIN tries exceeded, pick up | Pick up card |
| 39 | No credit account | Declined |
| 40 | Requested function not supported | Error |
| 41 | Lost card, pick up | Pick up card |
| 42 | No universal account | Declined |
| 43 | Stolen card, pick up | Pick up card |
| 44 | No investment account | Declined |
| 51 | Not sufficient funds | Declined |
| 52 | No checking account | Declined |
| 53 | No savings account | Declined |
| 54 | Expired card | Declined |
| 55 | Incorrect PIN | Declined |
| 56 | No card record | Declined |
| 57 | Transaction not permitted to cardholder | Declined |
| 58 | Transaction not permitted to terminal | Declined |
| 59 | Suspected fraud | Declined |
| 60 | Card acceptor contact acquirer | Declined |
| 61 | Exceeds withdrawal amount limit | Declined |
| 62 | Restricted card | Declined |
| 63 | Security violation | Declined |
| 64 | Original amount incorrect | Error |
| 65 | Exceeds withdrawal frequency limit | Declined |
| 66 | Card acceptor call acquirer security department | Declined |
| 67 | Hard capture (pick up card at ATM) | Pick up card |
| 68 | Response received too late | System |
| 75 | Allowable number of PIN tries exceeded | Declined |
| 76 | Invalid / non-existent "to" account specified | Error |
| 77 | Invalid / non-existent "from" account specified | Error |
| 78 | Invalid / non-existent account specified (general) | Error |
| 90 | Cut-off is in process (switch ending a business day) | System |
| 91 | Issuer or switch is inoperative | System |
| 92 | Financial institution or intermediate network facility cannot be found for routing | System |
| 93 | Transaction cannot be completed, violation of law | Declined |
| 94 | Duplicate transmission | Error |
| 95 | Reconcile error | Error |
| 96 | System malfunction | System |
| 97 | Reserved for ISO use | System |
| 98 | MAC error | Error |
| 99 | Reserved for private use | System |
Meanings follow ISO 8583 and common card-scheme usage. Each network (Visa, Mastercard, domestic switches) keeps its own list, so check its specification for codes that differ.
这个 ISO 校验器能检查什么
企业每天互相传递的标识符,大多遵循某项 ISO 标准,而且多数都带有校验位,这样输错一个字符,就能在导致付款失败、货物被拒收或记录出错之前被发现。这个工具会接收你粘贴的所有内容(每行一项),判断它可能属于哪种标准,告诉你是否通过,并列出从值中解析出的各个组成部分。
日期和时间方面,它遵循 ISO 8601:紧凑写法和带连字符的日历日期、2024-W09-4 这样的周日期、序数日期、带或不带 UTC 偏移的时间、P3Y6M4DT12H30M5S 这样的时长,以及时间段。它清楚闰年、哪些年份有 53 周、24:00 的日终写法和闰秒,也会指出常见的错误:用空格代替字母 T、混用紧凑与带连字符的写法,或者写出 2 月 30 日。
资金类标识符方面,它按各国的登记规则校验 IBAN,包括确切长度和本国账号格式,并验证 mod-97 校验位。BIC 会被拆分为银行、国家和分支机构;ISIN 和 LEI 按各自的校验位规则验证;支付卡号则用 Luhn 算法和发卡机构前缀检测。货币代码来自 ISO 4217,附带数字代码和小数位数;国家和语言代码来自 ISO 3166-1 与 ISO 639,包括 zh-Hant-TW 这样的语言标签。
商品与物流方面,它可以校验 ISBN-10 和 ISBN-13(并能互相转换)、ISSN、车辆识别代号的 17 位字符、带所有者代码和校验位的集装箱箱号,以及 DOI 的格式。请记住“校验通过”的含义:它只证明数值格式规范,并不证明图书、车辆或账户真实存在。一切都在你的浏览器本地运行,即使是敏感内容也不会离开你的设备。
ISO 8583 is the message format behind card payments: every authorization, purchase, reversal and network test between a terminal, an acquirer and an issuer is one ISO 8583 message. A message starts with a four-digit message type indicator (MTI) whose digits give the edition (0 = 1987, 1 = 1993, 2 = 2003), the class (authorization, financial, reversal, network management…), the function (request, response, advice) and who sent it. A bitmap of 64 or 128 bits follows, and each bit that is set says that the matching data element (DE) is present, such as DE 2 for the card number, DE 3 for the processing code, DE 4 for the amount, DE 11 for the trace number or DE 39 for the response code. Paste a message either as the text most documentation shows (MTI, hexadecimal bitmap and fields as characters) or as a hex dump of the raw bytes with BCD-packed numbers; the checker detects which one it is, strips an optional length header, lists every field with its name and flags truncated or oversized fields, bad length indicators, leftover data, impossible dates and times and unknown currency or country codes. It follows the 1987 data element table, so messages that use 1993 or 2003 layouts, private fields with their own sub-structure or a tertiary bitmap may be reported as invalid even though they are valid on your network.
Beyond identifiers, the validator also understands a few banking and payment codes. A creditor reference (ISO 11649) starts with RF and two check digits and is verified with the same mod-97 rule as an IBAN, so a mistyped payment reference is caught before it reaches the bank. A CFI code (ISO 10962) is six letters that classify a financial instrument — the first letter is the category (E for equities, D for debt, F for futures…) — and a merchant category code (ISO 18245) is the four-digit number that tells the card network what kind of business a merchant runs; both are never guessed automatically because any six letters or four digits could be one, so pick the standard from the list. Track data (ISO/IEC 7813) is what a magnetic stripe stores: card number, expiry, a three-digit service code and discretionary data, checked with the Luhn rule and a real month. The reference tables under the validator list every DE 39 response code, every ISO 8583 data element and the common merchant category codes.
Two further message formats are checked as a whole rather than line by line. A SWIFT FIN message (ISO 15022 syntax) has up to five blocks — basic header, application header with the message type and receiving BIC, user header, the text in block 4 and a trailer — and block 4 is a list of :tag: fields; the validator checks the header BICs, the mandatory fields of an MT103 (customer credit transfer), an MT202 (institution transfer) and the n99 free-format messages, and the format of the common tags such as :32A: (date, currency, amount with a decimal comma), :23B:, :71A:, :20: and the BIC-bearing party fields. An ISO 20022 message is XML whose namespace names the message (for example pain.001.001.09 or pacs.008.001.08); the validator checks that the XML is well formed, the namespace and business element match, the group header is complete, the number of transactions and control sum agree with the content, and every IBAN, BIC, currency and amount is valid. It does not replace validation against the official XSD, so use your bank's schema for the final check.
常见问题
我粘贴的内容会被发送到别处吗?
不会。所有校验都在你的浏览器里完成,用的是随页面一起加载的参考代码表。你粘贴的内容不会被上传或存储,连本地存储也不会写入,所以不方便发到网上的内容也可以放心校验。
显示“有效”,是否说明账户、图书或银行卡真实存在?
不是。校验只检查格式和校验位。有效的 IBAN 长度、结构和校验位都正确,但这并不能证明账户真的存在。同样,有效的 ISBN 或 DOI 只说明格式规范,不代表已经注册。
可以校验哪些标准?
ISO 8601(日期、时间、时长、时间段)、ISO 3166-1(国家)、ISO 4217(货币)、ISO 639(语言与语言标签)、ISO 13616(IBAN)、ISO 9362(BIC)、ISO 6166(ISIN)、ISO 17442(LEI)、ISO/IEC 7812(支付卡号)、ISO 2108(ISBN)、ISO 3297(ISSN)、ISO 3779(VIN)、ISO 6346(集装箱箱号)和 ISO 26324(DOI)。
为什么同一个值会匹配两种标准?
有些短代码在不止一个代码表中都有效。ID 既是印度尼西亚(ISO 3166-1),也是印尼语(ISO 639-1);840 既是美国,也是美元。工具会列出该值满足的所有标准。
可以一次校验很多内容吗?
可以。每行粘贴一项,最多 5,000 行,工具会自动判断每一项所属的标准。你可以按有效或无效筛选、复制有效项,或把结果下载为 CSV 文件。
How do I check an ISO 8583 message?
Paste the whole message on one line. Two layouts are understood: text (a four-digit MTI, a 16- or 32-character hexadecimal bitmap, then the fields as characters, with LL/LLL length digits for variable fields) and a hex dump of the raw bytes (BCD MTI, binary bitmap, BCD numbers). A two-byte or four-digit length header in front is detected and skipped. The result shows the MTI meaning, the bitmap and each data element, or the first problem found. Fields follow the ISO 8583:1987 table; custom formats of your network may differ.