Kiểm tra số thẻ tín dụng
Kiểm tra số thẻ bằng thuật toán Luhn, nhận diện tổ chức thẻ (Visa, Mastercard, Amex, Discover, JCB, UnionPay…) và kiểm tra độ dài. Không gửi dữ liệu đi đâu.
Khoảng trắng và dấu gạch nối được bỏ qua.
| Kết quả | Số hợp lệ (đạt kiểm tra Luhn và quy tắc độ dài) |
|---|---|
| Tổ chức thẻ | Visa |
| Kiểm tra Luhn | Đạt |
| Độ dài | 16 chữ số (cho phép: 13, 16, 19) |
| Độ dài hợp lệ với tổ chức thẻ này | Có |
| Đã định dạng | 4111 1111 1111 1111 |
| Độ dài mã bảo mật | 3 |
Kiểm tra số thẻ tín dụng là gì?
Công cụ này kiểm tra một số thẻ thanh toán có đúng cấu trúc hay không: nó chạy tổng kiểm tra Luhn, xác định tổ chức thẻ từ dải số phát hành (IIN/BIN), xác minh độ dài có được phép với tổ chức đó không và định dạng số theo cách nhóm thông dụng của tổ chức thẻ. Mọi thứ chạy trong trình duyệt của bạn.
Cách sử dụng Kiểm tra số thẻ tín dụng
- Nhập hoặc dán số thẻ; khoảng trắng và dấu gạch nối được bỏ qua.
- Đọc kết quả: kết luận chung, tổ chức thẻ, kiểm tra Luhn, độ dài và việc độ dài đó có được phép không.
- Dùng số đã định dạng và độ dài mã bảo mật khi cần cho dữ liệu thử nghiệm.
Ví dụ
378282246310005
American Express · Luhn passed · 15 digits (allowed: 15) · formatted 3782 822463 10005 · security code length 4
Khi nào nên dùng Kiểm tra số thẻ tín dụng
Dùng công cụ để kiểm thử biểu mẫu thanh toán, tạo dữ liệu thử nghiệm trông hợp lệ hoặc phát hiện lỗi gõ trước khi gửi số thẻ. Kết quả hợp lệ không có nghĩa là thẻ tồn tại, đang hoạt động hay còn tiền – chỉ ngân hàng phát hành mới xác nhận được điều đó qua bước cấp phép thanh toán. Đừng bao giờ dán số thẻ thật vào công cụ bạn không tin tưởng.
Kiểm tra số thẻ tín dụng hoạt động như thế nào
Thuật toán Luhn nhân đôi mỗi chữ số thứ hai tính từ bên phải, trừ 9 với kết quả lớn hơn 9 và kiểm tra tổng có chia hết cho 10 không. Tổ chức thẻ được nhận diện từ các dải IIN đã biết, kiểm tra từ cụ thể nhất đến chung nhất: Amex 34/37, Diners 300–305/36/38/39, JCB 3528–3589, Mir 2200–2204, Mastercard 51–55 và 2221–2720, Discover 6011/644–649/65, UnionPay 62/81, Visa 4, Maestro 50/56–69. Cách nhóm số tuân theo từng tổ chức (Amex 4-6-5, các loại khác 4-4-4-4).
Các Trường Hợp Sử Dụng Phổ Biến
- Xác minh các số thử nghiệm chính thức như 4111 1111 1111 1111 vượt qua bước kiểm tra của biểu mẫu.
- Hiển thị đúng logo thẻ trong biểu mẫu thanh toán khi người dùng đang gõ.
- Phát hiện chữ số gõ nhầm trước khi gọi API thanh toán.
- Dạy hoặc minh họa cách hoạt động của tổng kiểm tra Luhn.
Lưu Ý Bảo Mật
Hãy dùng số thẻ thử nghiệm khi phát triển. Công cụ không lưu hay truyền đi những gì bạn nhập, nhưng tránh nhập thẻ thật trên bất kỳ trang web nào ngoài trang thanh toán của người bán.
Câu Hỏi Thường Gặp
Qua được kiểm tra Luhn có nghĩa là thẻ thật không?
Không. Cứ khoảng mười số ngẫu nhiên thì có một số qua được Luhn. Nó chỉ phát hiện lỗi gõ.
Số thẻ có bị gửi lên máy chủ không?
Không. Mọi bước kiểm tra đều là JavaScript thuần trong trình duyệt của bạn; không có yêu cầu mạng nào.
Vì sao số 16 chữ số bắt đầu bằng 62 lại hiện là UnionPay?
62 là dải số chính của UnionPay. Một số thẻ đồng thương hiệu cũng chạy trên mạng lưới khác, điều mà chỉ dữ liệu của ngân hàng phát hành mới cho biết được.