Kiểm tra chuẩn ISO
Dán IBAN, ngày giờ, ISBN, mã tiền tệ, bản tin thẻ ngân hàng ISO 8583... và biết ngay giá trị khớp chuẩn ISO nào, hoặc sai ở đâu.
Mọi thứ được kiểm tra ngay trong trình duyệt. Nội dung bạn dán không bị tải lên hay lưu lại.
Dán giá trị vào ô phía trên, kết quả sẽ hiện ở đây.
Tra cứu ISO 8583: mã phản hồi và các trường dữ liệu
Tra ý nghĩa mã phản hồi DE 39, hoặc mỗi trường dữ liệu (DE) chứa gì và phải dài bao nhiêu.
| Mã | Ý nghĩa | Kết quả |
|---|---|---|
| 00 | Approved or completed successfully | Chấp nhận |
| 01 | Refer to card issuer | Từ chối |
| 02 | Refer to card issuer, special condition | Từ chối |
| 03 | Invalid merchant | Lỗi |
| 04 | Pick up card (no fraud) | Thu hồi thẻ |
| 05 | Do not honor | Từ chối |
| 06 | Error | Lỗi |
| 07 | Pick up card, special condition (fraud) | Thu hồi thẻ |
| 08 | Honor with identification | Chấp nhận |
| 09 | Request in progress | Hệ thống |
| 10 | Approved for partial amount | Chấp nhận |
| 11 | Approved (VIP) | Chấp nhận |
| 12 | Invalid transaction | Lỗi |
| 13 | Invalid amount | Lỗi |
| 14 | Invalid card number (no such number) | Lỗi |
| 15 | No such issuer | Lỗi |
| 16 | Approved, update track 3 | Chấp nhận |
| 17 | Customer cancellation | Từ chối |
| 18 | Customer dispute | Từ chối |
| 19 | Re-enter transaction | Lỗi |
| 20 | Invalid response | Lỗi |
| 21 | No action taken | Từ chối |
| 22 | Suspected malfunction | Hệ thống |
| 23 | Unacceptable transaction fee | Lỗi |
| 24 | File update not supported by receiver | Lỗi |
| 25 | Unable to locate record in file | Lỗi |
| 26 | Duplicate file update record, old record replaced | Lỗi |
| 27 | File update field edit error | Lỗi |
| 28 | File update file locked out | Lỗi |
| 29 | File update not successful, contact acquirer | Lỗi |
| 30 | Format error | Lỗi |
| 31 | Bank not supported by switch | Lỗi |
| 32 | Completed partially | Chấp nhận |
| 33 | Expired card, pick up | Thu hồi thẻ |
| 34 | Suspected fraud, pick up | Thu hồi thẻ |
| 35 | Card acceptor contact acquirer, pick up | Thu hồi thẻ |
| 36 | Restricted card, pick up | Thu hồi thẻ |
| 37 | Card acceptor call acquirer security, pick up | Thu hồi thẻ |
| 38 | Allowable PIN tries exceeded, pick up | Thu hồi thẻ |
| 39 | No credit account | Từ chối |
| 40 | Requested function not supported | Lỗi |
| 41 | Lost card, pick up | Thu hồi thẻ |
| 42 | No universal account | Từ chối |
| 43 | Stolen card, pick up | Thu hồi thẻ |
| 44 | No investment account | Từ chối |
| 51 | Not sufficient funds | Từ chối |
| 52 | No checking account | Từ chối |
| 53 | No savings account | Từ chối |
| 54 | Expired card | Từ chối |
| 55 | Incorrect PIN | Từ chối |
| 56 | No card record | Từ chối |
| 57 | Transaction not permitted to cardholder | Từ chối |
| 58 | Transaction not permitted to terminal | Từ chối |
| 59 | Suspected fraud | Từ chối |
| 60 | Card acceptor contact acquirer | Từ chối |
| 61 | Exceeds withdrawal amount limit | Từ chối |
| 62 | Restricted card | Từ chối |
| 63 | Security violation | Từ chối |
| 64 | Original amount incorrect | Lỗi |
| 65 | Exceeds withdrawal frequency limit | Từ chối |
| 66 | Card acceptor call acquirer security department | Từ chối |
| 67 | Hard capture (pick up card at ATM) | Thu hồi thẻ |
| 68 | Response received too late | Hệ thống |
| 75 | Allowable number of PIN tries exceeded | Từ chối |
| 76 | Invalid / non-existent "to" account specified | Lỗi |
| 77 | Invalid / non-existent "from" account specified | Lỗi |
| 78 | Invalid / non-existent account specified (general) | Lỗi |
| 90 | Cut-off is in process (switch ending a business day) | Hệ thống |
| 91 | Issuer or switch is inoperative | Hệ thống |
| 92 | Financial institution or intermediate network facility cannot be found for routing | Hệ thống |
| 93 | Transaction cannot be completed, violation of law | Từ chối |
| 94 | Duplicate transmission | Lỗi |
| 95 | Reconcile error | Lỗi |
| 96 | System malfunction | Hệ thống |
| 97 | Reserved for ISO use | Hệ thống |
| 98 | MAC error | Lỗi |
| 99 | Reserved for private use | Hệ thống |
Ý nghĩa theo ISO 8583 và cách dùng phổ biến của các tổ chức thẻ. Mỗi mạng (Visa, Mastercard, các switch nội địa) có danh sách riêng, nên hãy đối chiếu đặc tả của mạng với các mã khác nhau. Tên và mô tả trường là tiếng Anh.
Công cụ kiểm tra ISO này làm gì
Hầu hết mã định danh mà doanh nghiệp trao đổi mỗi ngày đều theo một chuẩn ISO, và phần lớn có chữ số kiểm tra để bắt lỗi gõ sai trước khi nó gây ra giao dịch thất bại, lô hàng bị từ chối hay bản ghi sai. Công cụ này nhận bất cứ gì bạn dán, mỗi dòng một giá trị, xác định giá trị có thể thuộc chuẩn nào và cho biết nó có đạt hay không, kèm các thành phần tìm thấy bên trong.
Với ngày giờ, công cụ theo ISO 8601: ngày dương lịch kiểu gọn và kiểu có gạch, ngày theo tuần như 2024-W09-4, ngày trong năm, giờ có hoặc không có độ lệch UTC, khoảng thời gian như P3Y6M4DT12H30M5S và các khoảng thời điểm. Công cụ biết năm nhuận, năm nào có 53 tuần, cách ghi 24:00 cuối ngày và giây nhuận, đồng thời chỉ ra lỗi hay gặp: dùng dấu cách thay chữ T, trộn kiểu gọn với kiểu có gạch, hay ngày 30 tháng 2.
Với tiền và ngân hàng, công cụ kiểm tra IBAN theo danh bạ của từng quốc gia, gồm độ dài chính xác và định dạng tài khoản trong nước, rồi xác minh chữ số kiểm tra mod-97. Mã BIC được tách thành ngân hàng, quốc gia và chi nhánh; ISIN và LEI được xác minh bằng quy tắc chữ số kiểm tra riêng; số thẻ thanh toán được thử bằng công thức Luhn và đầu số nhà phát hành. Mã tiền tệ lấy từ ISO 4217 kèm mã số và số chữ số thập phân, còn mã quốc gia và ngôn ngữ lấy từ ISO 3166-1 và ISO 639, kể cả thẻ ngôn ngữ như zh-Hant-TW.
Với sản phẩm và logistics, công cụ kiểm tra ISBN-10 và ISBN-13 (và đổi qua lại), ISSN, 17 ký tự của số khung xe, số container vận chuyển với mã chủ sở hữu và chữ số kiểm tra, cùng định dạng DOI. Hãy nhớ ý nghĩa của việc kiểm tra: nó chứng minh giá trị viết đúng, không chứng minh cuốn sách, chiếc xe hay tài khoản đó tồn tại. Mọi thứ chạy cục bộ trong trình duyệt nên ngay cả giá trị nhạy cảm cũng không rời khỏi thiết bị của bạn.
ISO 8583 là định dạng bản tin đứng sau các giao dịch thẻ: mỗi lệnh xin phép, mua hàng, đảo giao dịch hay kiểm tra mạng giữa máy POS/ATM, ngân hàng thanh toán và ngân hàng phát hành đều là một bản tin ISO 8583. Bản tin mở đầu bằng chỉ báo loại bản tin (MTI) 4 chữ số: chữ số đầu là phiên bản (0 = 1987, 1 = 1993, 2 = 2003), tiếp theo là lớp (xin phép, tài chính, đảo, quản lý mạng...), chức năng (yêu cầu, phản hồi, thông báo) và bên gửi. Sau đó là bitmap 64 hoặc 128 bit; mỗi bit bật cho biết trường dữ liệu (DE) tương ứng có mặt, ví dụ DE 2 là số thẻ, DE 3 mã xử lý, DE 4 số tiền, DE 11 số vết (STAN), DE 39 mã phản hồi. Bạn có thể dán bản tin dạng văn bản như tài liệu thường trình bày (MTI, bitmap thập lục phân, các trường là ký tự) hoặc dạng hex của các byte thô với số được nén BCD; công cụ tự nhận ra dạng nào, bỏ qua tiêu đề độ dài nếu có, liệt kê từng trường kèm tên, và báo các lỗi như trường bị cắt cụt hay quá dài, chỉ báo độ dài sai, dữ liệu thừa, ngày giờ không thể có, mã tiền tệ hoặc quốc gia không tồn tại. Công cụ dùng bảng trường ISO 8583:1987, nên bản tin theo bố cục 1993/2003, trường riêng có cấu trúc con hoặc bitmap bậc ba có thể bị báo sai dù hợp lệ trên mạng của bạn.
Ngoài các định danh, công cụ còn hiểu một số mã ngân hàng và thanh toán. Mã tham chiếu chủ nợ (ISO 11649) bắt đầu bằng RF cùng hai chữ số kiểm tra và được xác minh bằng cùng quy tắc mod-97 như IBAN, nên lỗi gõ nhầm trong tham chiếu thanh toán được phát hiện trước khi đến ngân hàng. Mã CFI (ISO 10962) gồm sáu chữ cái phân loại một công cụ tài chính — chữ đầu là nhóm (E cổ phiếu, D nợ, F hợp đồng tương lai...) — còn mã ngành hàng (ISO 18245) là số bốn chữ số cho mạng thẻ biết người bán kinh doanh loại gì; hai loại này không được tự đoán vì bất kỳ sáu chữ cái hay bốn chữ số nào cũng có thể là chúng, nên hãy chọn chuẩn trong danh sách. Dữ liệu rãnh (ISO/IEC 7813) là thứ lưu trên dải từ: số thẻ, ngày hết hạn, mã dịch vụ ba chữ số và dữ liệu tuỳ ý, kiểm bằng quy tắc Luhn và tháng hợp lệ. Các bảng tra cứu bên dưới công cụ liệt kê mọi mã phản hồi DE 39, mọi trường dữ liệu ISO 8583 và các mã ngành hàng phổ biến.
Hai định dạng bản tin khác được kiểm cả bản tin chứ không theo từng dòng. Bản tin SWIFT FIN (cú pháp ISO 15022) có tối đa năm block — tiêu đề cơ bản, tiêu đề ứng dụng chứa loại bản tin và BIC bên nhận, tiêu đề người dùng, phần nội dung ở block 4 và phần kết — còn block 4 là danh sách các trường :tag:; công cụ kiểm BIC ở tiêu đề, các trường bắt buộc của MT103 (chuyển tiền khách hàng), MT202 (chuyển tiền giữa tổ chức) và các bản tin tự do n99, cùng định dạng các thẻ thông dụng như :32A: (ngày, tiền tệ, số tiền dùng dấu phẩy thập phân), :23B:, :71A:, :20: và các trường bên liên quan có BIC. Bản tin ISO 20022 là XML có namespace nêu tên bản tin (ví dụ pain.001.001.09 hoặc pacs.008.001.08); công cụ kiểm XML đúng cú pháp, namespace và phần tử nghiệp vụ khớp nhau, group header đầy đủ, số giao dịch và tổng kiểm soát khớp với nội dung, và mọi IBAN, BIC, tiền tệ, số tiền đều hợp lệ. Công cụ không thay thế việc kiểm theo XSD chính thức, nên hãy dùng lược đồ của ngân hàng cho bước kiểm cuối.
Câu hỏi thường gặp
Giá trị tôi dán có bị gửi đi đâu không?
Không. Mọi phép kiểm tra chạy ngay trong trình duyệt với các danh sách tham chiếu đi kèm trang. Nội dung bạn dán không được tải lên hay lưu lại, kể cả trong bộ nhớ trình duyệt, nên có thể kiểm tra những giá trị bạn không muốn đăng công khai.
"Hợp lệ" có nghĩa là tài khoản, cuốn sách hay thẻ đó thật sự tồn tại không?
Không. Việc kiểm tra chỉ xem định dạng và chữ số kiểm tra. IBAN hợp lệ có đúng độ dài, cấu trúc và chữ số kiểm tra, nhưng chưa chứng minh tài khoản tồn tại. ISBN hay DOI hợp lệ cũng chỉ là viết đúng định dạng, chưa chắc đã được đăng ký.
Tôi kiểm tra được những chuẩn nào?
ISO 8601 (ngày, giờ, khoảng thời gian), ISO 3166-1 (quốc gia), ISO 4217 (tiền tệ), ISO 639 (ngôn ngữ và thẻ ngôn ngữ), ISO 13616 (IBAN), ISO 9362 (BIC), ISO 6166 (ISIN), ISO 17442 (LEI), ISO/IEC 7812 (số thẻ thanh toán), ISO 2108 (ISBN), ISO 3297 (ISSN), ISO 3779 (VIN), ISO 6346 (số container) và ISO 26324 (DOI).
Vì sao một giá trị lại khớp hai chuẩn?
Một số mã ngắn hợp lệ trong nhiều danh sách. ID vừa là Indonesia (ISO 3166-1) vừa là tiếng Indonesia (ISO 639-1), còn 840 vừa là Hoa Kỳ vừa là đô la Mỹ. Công cụ liệt kê mọi chuẩn mà giá trị thỏa mãn.
Tôi có kiểm tra nhiều giá trị cùng lúc được không?
Được. Dán mỗi dòng một giá trị, tối đa 5.000 dòng, công cụ tự nhận diện chuẩn của từng dòng. Bạn có thể lọc theo hợp lệ hoặc không hợp lệ, sao chép phần hợp lệ hoặc tải kết quả dạng CSV.
Làm sao kiểm tra một bản tin ISO 8583?
Dán cả bản tin trên một dòng. Công cụ hiểu hai dạng: văn bản (MTI 4 chữ số, bitmap 16 hoặc 32 ký tự thập lục phân, rồi các trường là ký tự, trường độ dài thay đổi có chữ số LL/LLL) và hex của các byte thô (MTI BCD, bitmap nhị phân, số nén BCD). Tiêu đề độ dài 2 byte hoặc 4 chữ số ở đầu được tự nhận và bỏ qua. Kết quả hiển thị ý nghĩa MTI, bitmap và từng trường dữ liệu, hoặc lỗi đầu tiên tìm thấy. Các trường theo bảng ISO 8583:1987; định dạng riêng của mạng bạn có thể khác.