Walidator Karty Kredytowej
Bezpłatny walidator kart dla deweloperów i testów. Wykonuje kontrolę Luhn (Mod-10), wykrywa markę i odczytuje wystawcę, kraj i typ karty z BIN.
Czym jest Walidator Karty Kredytowej?
Walidator karty kredytowej sprawdza, czy numer karty jest poprawnie sformatowany. Uruchamia sumę kontrolną Luhn (Mod-10), weryfikuje długość i prefiks względem reguł publikowanych przez każdą sieć oraz odczytuje pierwsze sześć cyfr (BIN), aby zidentyfikować bank emisyjny, markę, kraj i typ karty.
To narzędzie dla deweloperów i analityków, nie bramka płatnicza. Działa całkowicie poza jakąkolwiek bramką płatności, dzięki czemu możesz szybko zweryfikować numer z formularza, linii logu lub zestawu testowego bez wysyłania go tam, gdzie nie jest potrzebny.
Walidator potwierdza wyłącznie format i strukturę matematyczną. Uruchamia algorytm Luhn oraz statyczne wyszukiwanie w bazie BIN. Nie komunikuje się z emitentem, siecią ani żadną bramką płatności.
Nie weryfikuje, czy konto istnieje, czy karta jest aktywna, czy są środki, czy CVV lub data ważności są prawidłowe, ani czy posiadacz karty jest tym, za kogo się podaje. Wynik PRAWIDŁOWY oznacza, że numer jest poprawnie sformatowany. Nic więcej.
Jak używać Walidatora Karty Kredytowej?
Trzy kroki.
-
Krok 1. Wklej numer karty w pole wejściowe. Długość może wynosić od 12 do 19 cyfr. Spacje i myślniki są usuwane automatycznie, a odznaka wykrytej marki pojawia się podczas wpisywania.
-
Krok 2. Rozwiąż CAPTCHA. Jest po to, by blokować zautomatyzowane nadużycia, a nie przeszkadzać ci.
- Krok 3. Kliknij WALIDUJ. Numer przechodzi przez weryfikację długości, sumę kontrolną Luhn, ekstrakcję BIN i wyszukiwanie w bazie danych w jednym cyklu.
Otrzymujesz status Luhn (PRAWIDŁOWY lub NIEPRAWIDŁOWY), markę, bank emisyjny, typ karty (kredytowa, debetowa, przedpłacona) i kraj oraz surowy BIN. Rozwiń okna dialogowe, aby zobaczyć pełny rekord, skopiuj dowolne pole lub eksportuj cały wynik jako JSON, CSV lub TXT.
Jak działa Walidator Karty Kredytowej?
Walidator uruchamia krótki potok. Oczyszcza dane wejściowe, sprawdza długość, uruchamia Luhn, ekstrahuje BIN, wyszukuje go w bazie danych i zwraca wynik. Część tego dzieje się w twojej przeglądarce dla natychmiastowej informacji zwrotnej, reszta na serwerze. Numer karty nie jest przechowywany w bazie aplikacji po zwróceniu odpowiedzi.
1. Oczyszczanie danych wejściowych i walidacja długości
Narzędzie najpierw oczyszcza dane wejściowe, usuwając wszystkie znaki niebędące cyframi (spacje, myślniki, kropki itp.), zapewniając, że pozostają wyłącznie cyfry. Następnie sprawdza, czy długość numeru karty mieści się w akceptowalnym zakresie 12-19 cyfr, obejmującym wszystkie główne marki kart, od Maestro (12 cyfr) po karty standardowe (16 cyfr) i formaty rozszerzone (19 cyfr).
Weryfikuje, czy numer karty został wprowadzony przed przetworzeniem, zapobiegając przesłaniu pustych pól.
Automatycznie usuwa spacje, myślniki i znaki formatowania, aby wyodrębnić czyste cyfry numeryczne.
Weryfikuje, czy długość numeru karty wynosi od 12 do 19 cyfr, odrzucając numery spoza tego zakresu.
Podczas wpisywania narzędzie analizuje pierwsze cyfry, aby wykryć markę karty i wyświetla ją natychmiast.
2. Ekstrakcja BIN (Numer Identyfikacji Bankowej)
Pierwsze 6 cyfr dowolnego numeru karty tworzy BIN (Numer Identyfikacji Bankowej), znany też jako IIN (Numer Identyfikacji Emitenta). Ten unikalny identyfikator ujawnia instytucję emisyjną karty, markę, typ i kraj pochodzenia. Walidator Karty Kredytowej ekstrahuje ten kod BIN i używa go do wyszukiwania w bazie danych oraz wykrywania marki.
Automatycznie ekstrahuje pierwsze 6 cyfr z oczyszczonego numeru karty jako kod BIN, który służy jako główny identyfikator dla zapytań do bazy danych.
Pierwsza cyfra (Identyfikator Branży Głównej) wskazuje kategorię branżową karty, np. bankowość/finanse (4, 5), podróże/rozrywka (3) lub inne branże (1, 2, 6, 7, 8, 9).
Pełny 6-cyfrowy BIN jednoznacznie identyfikuje konkretną instytucję finansową, sieć płatności, typ karty i region geograficzny emisji karty.
Wyekstrahowany BIN staje się kluczem wyszukiwania. Jedno zapytanie do bazy BIN zwraca emitenta, typ karty, kraj i metadane kontaktowe w jednej odpowiedzi.
3. Walidacja algorytmem Luhn (Modulus 10)
Algorytm Luhn, znany też jako algorytm Modulus 10 lub Mod-10, to matematyczna formuła sumy kontrolnej używana do walidacji numerów identyfikacyjnych, w tym numerów kart kredytowych. Opracowany przez naukowca IBM Hansa Petera Luhna w 1954 roku, algorytm wykrywa błędy jednocyfrowe i większość przestawień sąsiednich cyfr.
Prześledźmy proces krok po kroku na przykładowym numerze karty kredytowej 4417 1234 5678 9113.
Krok 1: Odwróć numer
Pierwszym krokiem jest odczytanie numeru karty od tyłu, od prawej do lewej. To kluczowy krok przygotowawczy algorytmu. Przykładowo numer karty 4417 1234 5678 9113 staje się 3119 8765 4321 7144 czytany od prawej do lewej.
Krok 2: Zsumuj cyfry na pozycjach parzystych
Korzystając z odwróconego numeru, sumujemy wszystkie cyfry na pozycjach parzystych. W tym przykładzie dodajemy 3 + 1 + 8 + 6 + 4 + 2 + 7 + 4, aby uzyskać sumę 35.
Krok 3: Podwój i zsumuj cyfry na pozycjach nieparzystych
Następnie przetwarzamy cyfry na pozycjach nieparzystych. Podwajamy każdą z nich, a jeśli wynik jest liczbą dwucyfrową, sumujemy jej cyfry. Końcowa suma wszystkich przetworzonych wartości wynosi 35.
Krok 4: Ostateczna walidacja Modulo 10
Na koniec sumujemy obie sumy: 35 + 35 = 70. Następnie wykonujemy operację modulo 10: 70 MOD 10 = 0. Ponieważ wynik wynosi 0, numer karty kredytowej jest prawidłowy.
Ta matematyczna walidacja zapewnia, że numer karty przestrzega prawidłowej struktury formatu stosowanej przez wszystkich głównych emitentów kart. Numer karty, który nie przejdzie weryfikacji Luhn, nie może być prawidłowym numerem karty, niezależnie od tego, czy konto istnieje.
4. Wykrywanie marki karty
Narzędzie identyfikuje markę karty poprzez analizę zakresów Numeru Identyfikacji Emitenta (IIN). Każda główna marka kart ma przypisane określone zakresy IIN przez standardy branży kart płatniczych:
Zaczyna się cyfrą 4. Standardowa długość: 16 cyfr (może wynosić 13 lub 19 dla niektórych wariantów).
Zaczyna się od 51-55 lub 2221-2720. Standardowa długość: 16 cyfr.
Zaczyna się od 34 lub 37. Standardowa długość: 15 cyfr.
Zaczyna się od 6011, 622126-622925, 644-649 lub 65. Długość: 16-19 cyfr.
Zaczyna się od 3528-3589. Długość: 16-19 cyfr.
Zaczyna się od 62. Długość: 16-19 cyfr.
Narzędzie obsługuje wykrywanie ponad 30 marek kart, w tym Diners Club, Maestro, RuPay, Mir, Troy i wiele regionalnych schematów kart. Wykrywanie marki odbywa się zarówno po stronie klienta (dla natychmiastowej informacji zwrotnej), jak i serwera (dla dokładnej walidacji).
5. Wyszukiwanie w bazie BIN
Mając BIN, narzędzie odpytuje bazę BIN. Jedno wyszukiwanie zwraca pełny rekord emitenta dla danego zakresu:
6-cyfrowy Numer Identyfikacji Bankowej wyekstrahowany z numeru karty, używany do identyfikacji instytucji emisyjnej.
Konkretna instytucja finansowa lub kasa kredytowa, która wydała kartę.
Marka sieci płatności (Visa, Mastercard, American Express itp.).
Czy karta jest kredytowa, debetowa, przedpłacona czy wirtualna.
Nazwa kraju, w którym wydano kartę, wskazująca lokalizację geograficzną instytucji emisyjnej.
Kod kraju ISO 3166-1 alfa-2 (dwuliterowy) dla kraju, w którym wydano kartę (np. "US", "GB", "CA").
Kod kraju ISO 3166-1 alfa-3 (trzyliterowy) dla kraju, w którym wydano kartę (np. "USA", "GBR", "CAN").
Oficjalny adres URL strony banku emisyjnego lub instytucji finansowej (jeśli dostępny).
Numer telefonu kontaktowego banku emisyjnego lub instytucji finansowej (jeśli dostępny).
Jeśli BIN nie zostanie znaleziony w naszej bazie danych, narzędzie przełącza się na wykrywanie marki za pomocą analizy zakresów IIN i wyświetla dostępne informacje. Baza danych jest regularnie aktualizowana o nowe zakresy BIN i informacje o emitentach.
6. Kompilacja i wyświetlanie wyników
Wyniki wracają jako jedna odpowiedź i renderują się w układzie, który możesz przejrzeć w chwilę. Otrzymujesz:
Kolorową kartę statusu pokazującą PRAWIDŁOWY (zielony) lub NIEPRAWIDŁOWY (czerwony) z ikonami, potwierdzeniem numeru karty i opisem walidacji.
Marka karty, typ karty i kraj emisji obok siebie, każdy z własną ikoną, abyś mógł przejrzeć wynik w chwilę.
Dedykowane odznaki pokazujące wyniki walidacji algorytmu Luhn i sumy kontrolnej (PRAWIDŁOWY/NIEPRAWIDŁOWY).
Pełny rekord karty: numer, emitent (marka), status Luhn, status sumy kontrolnej i format karty (długość w cyfrach).
Pełne informacje BIN, w tym kod BIN, bank emisyjny, typ karty, kraj ISO (nazwa), ISO kraj A2 (dwuliterowy kod), ISO kraj A3 (trzyliterowy kod), strona emitenta i numer kontaktowy emitenta.
Eksportuj pełne wyniki walidacji w wielu formatach: JSON (dane strukturalne), CSV (kompatybilny z arkuszami kalkulacyjnymi) lub TXT (zwykły tekst) z wszystkimi szczegółami BIN, statusem walidacji i znacznikami czasu.
Budowa numeru karty kredytowej
Numer karty kredytowej składa się z kilku odrębnych części, z których każda służy określonemu celowi w identyfikacji i walidacji karty:
-
Pierwsza cyfra (MII): Identyfikuje sieć płatności (np. 4 dla Visa, 5 dla Mastercard, 3 dla Amex/Diners Club).
-
Numer Identyfikacji Emitenta (IIN/BIN): Pierwsze 6 cyfr (lub więcej) identyfikuje konkretny bank lub instytucję finansową, która wydała kartę.
-
Identyfikator konta: Kolejne 9-12 cyfr jest unikalne dla twojego osobistego konta i łączy kartę z twoimi danymi finansowymi.
- Cyfra kontrolna: Ostatnia cyfra, obliczona przez algorytm Luhn, waliduje cały numer, aby zapobiec błędom i oszustwom.
Poniższa tabela referencyjna Numeru Identyfikacji Emitenta (IIN) i Numeru Identyfikacji Bankowej (BIN) wymienia każdą markę kart rozpoznawaną przez walidator, z zakresami prefiksów, oczekiwanymi długościami, statusem aktywności i metodą walidacji. Używaj jej do ręcznej identyfikacji karty lub potwierdzenia oczekiwanego formatu dla danej marki.
| SIEĆ | ZAKRESY IIN/BIN | STATUS | DŁUGOŚĆ | WALIDACJA | REGION |
|---|---|---|---|---|---|
| American Express | 34, 37 | Aktywny | 15 | LUHN | Global |
| Bankcard | 5610, 560221–560225 | Nieaktywny | 16 | LUHN | Australia (defunct) |
| BORICA | 2205 | Aktywny | 16 | LUHN | Bulgaria |
| China T-Union | 31 | Aktywny | 19 | LUHN | China |
| China UnionPay | 62, 81 (8100–8171, Discover-routed) | Aktywny | 16, 19 | LUHN | China (Global acceptance) |
| Dankort | 5019 | Aktywny | 16 | LUHN | Denmark |
| Dankort (Visa co-brand) | 4571 | Aktywny | 16 | LUHN | Denmark |
| Diners Club enRoute | 2014, 2149 | Nieaktywny | 15 | NONE | North America (defunct) |
| Diners Club International | 30, 36, 38, 39 | Aktywny | 14, 16, 19 | LUHN | Global |
| Diners Club US & Canada | 55 | Aktywny | 16 | LUHN | United States, Canada |
| Discover Card | 6011, 644–649, 65 | Aktywny | 16, 19 | LUHN | Global |
| GPN (Gerbang Pembayaran Nasional) | 1946 (BNI cards), 50, 56, 58, 60–63 | Aktywny | 16, 18, 19 | LUHN | Indonesia |
| Humo | 9860 | Aktywny | 16 | LUHN | Uzbekistan |
| InstaPayment | 637–639 | Aktywny | 16 | LUHN | Global |
| InterPayment | 636 | Aktywny | 16, 19 | LUHN | Global |
| JCB | 3088–3094, 3096–3102, 3112–3120, 3158–3159, 3337–3349, 3528–3589 | Aktywny | 16, 19 | LUHN | Global (Japan-based) |
| LankaPay | 357111 (JCB co-branded) | Aktywny | 16 | LUHN | Sri Lanka |
| Laser | 6304, 6706, 6771, 6709 | Nieaktywny | 16, 19 | LUHN | Ireland (defunct) |
| Maestro | 5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763 | Wycofywany | 12, 19 | LUHN | Global (EU sunset) |
| Maestro (UK) | 6759, 676770, 676774 | Aktywny | 12, 19 | LUHN | United Kingdom |
| Mastercard | 2221–2720, 51–55 | Aktywny | 16 | LUHN | Global |
| Mir | 2200–2204 | Aktywny | 16, 19 | LUHN | Russia |
| Napas | 9704 | Aktywny | 16, 19 | LUHN | Vietnam |
| NPS Pridnestrovie | 6054740–6054744 | Nieaktywny | 16 | LUHN | Pridnestrovian Moldavian Republic |
| RuPay | 60, 65, 81, 82, 508 | Aktywny | 16 | LUHN | India |
| RuPay (JCB co-brand) | 353, 356 | Aktywny | 16 | LUHN | India |
| Solo | 6334, 6767 | Nieaktywny | 16, 18, 19 | LUHN | United Kingdom (defunct) |
| Switch | 4903, 4905, 4911, 4936, 564182, 633110, 6333, 6759 | Nieaktywny | 16, 18, 19 | LUHN | United Kingdom (defunct) |
| Troy | 65 (Discover co-branded), 9792 | Aktywny | 16 | LUHN | Turkey |
| UATP | 1 | Aktywny | 15 | LUHN | Global (Airline travel) |
| UkrCard | 60400100–60420099 | Aktywny | 16, 19 | LUHN | Ukraine |
| UzCard | 8600, 5614 | Aktywny | 16 | LUHN | Uzbekistan |
| Verve | 506099–506198, 650002–650027, 507865–507964 | Aktywny | 16, 18, 19 | LUHN | Nigeria |
| Visa | 4 | Aktywny | 13, 16, 19 | LUHN | Global |
| Visa Electron | 4026, 417500, 4508, 4844, 4913, 4917 | Nieaktywny | 16 | LUHN | Global |
Przesuń w bok, aby zobaczyć wszystkie kolumny.
Źródło: Wikipedia
Dlaczego walidacja kart ma znaczenie
Walidacja formatu jest najtańszą barierą przed bramką płatności. Wychwytuje literówki, błędne wklejenia i uszkodzone integracje, zanim pochłoną cykl sieciowy, opłatę procesora lub zirytują klienta. Sama nie zastępuje kontroli oszustw, ale to pierwsze użyteczne sprawdzenie w każdym potoku kasowym.
Numer, który nie przejdzie Luhn, zawsze zakończy się błędem przy bramce. Wykrycie go w formularzu daje użytkownikowi przejrzysty komunikat o błędzie zamiast generycznego "transakcja odrzucona" dwie sekundy później.
Numery, które nie przechodzą weryfikacji Luhn, nie są numerami kart w obrocie. Filtrowanie ich na wejściu pozwala zespołowi ds. bezpieczeństwa skupić się na próbach, które mogłyby faktycznie autoryzować transakcje.
Natychmiastowa informacja o formacie (podczas wpisywania, przed przesłaniem) to najtańszy zysk UX w przepływie kasowym. Użytkownik poprawia literówkę w miejscu zamiast opuszczać stronę.
Każda próba autoryzacji przy bramce ma koszt, nawet gdy się nie powiodła. Wstępna walidacja zmniejsza liczbę bezcelowych wywołań i związanych z nimi opłat.
Jeśli tworzysz kod płatności, walidator to praktyczny sposób, aby potwierdzić, że formularz, tokenizator i routing BIN są zgodne co do znaczenia danego numeru.
Walidacja danych wejściowych to podstawowy nawyk jakości danych dla formularzy płatności. Nie dowodzi, że karta jest aktywna lub autoryzowana, ale oznacza mniej bałaganu w przepływie danych kartowych.
Kto tego używa
Krótka, uczciwa lista. Jeśli twoja praca polega na patrzeniu na numer karty na ekranie, to narzędzie jest dla ciebie.
Sięgnij po nie, gdy konfigurujesz formularz kasowy, debugujesz tokenizator lub sprawdzasz, dlaczego konkretny numer nie przechodzi przez bramkę. Szybciej niż uruchamianie środowiska testowego.
Potwierdź, że formularz akceptuje obsługiwane marki i odrzuca nieobsługiwane, oraz zwaliduj zestawy testowe przed uruchomieniem regresji. Użyj go razem z generatorem testowych numerów kart na stronie głównej, aby tworzyć symulowane sekwencje walidacji.
Szybko sprawdź numer z oznaczonej transakcji lub ręcznego przeglądu. Okno dialogowe BIN pokazuje emitenta, kraj i typ karty bez logowania się do żadnego systemu.
Gdy klient mówi, że jego karta jest odrzucana, 10-sekundowa weryfikacja Luhn i BIN mówi ci, czy to literówka, zła marka, czy coś, na co musi odpowiedzieć bramka.
Przejdź przez algorytm Luhn krok po kroku na zajęciach lub użyj tabeli referencyjnej BIN jako przykładu tego, jak sieci płatności strukturyzują swoją numerację.
Najczęściej Zadawane Pytania (FAQ)
Nie. Numer, który wklejasz, jest przetwarzany w pamięci przez czas trwania żądania, a następnie odrzucany. Nie przechowujemy go w bazie aplikacji. Sposób postępowania z danymi karty opisuje nasza Polityka Prywatności.
Algorytm Luhn (zwany też Mod-10) to prosta suma kontrolna, którą Hans Peter Luhn zaprojektował w IBM w 1954 roku. Każda główna sieć kart wymaga, aby jej numery go przechodziły. Sprawdzenie wychwytuje literówki jednocyfrowe i większość zamian sąsiednich cyfr, co czyni go najtańszą weryfikacją przed formularzem kasowym.
Numer, który nie przechodzi Luhn, nie jest numerem karty w obrocie, koniec. Numer, który przechodzi Luhn, może być nieaktywny, anulowany lub fałszywy, więc nie traktuj zielonego znacznika jako dowodu, że karta działa.
Nie. Zielona odznaka PRAWIDŁOWY oznacza, że numer jest poprawnie sformatowany i przechodzi weryfikację Luhn. Nie mówi ci niczego z poniższego:
- Że konto za nim istnieje
- Że karta jest aktywna i nie anulowana
- Że są na niej środki
- Że nie została zgłoszona jako zagubiona lub skradziona
- Że CVV lub data ważności są prawidłowe
- Że posiadacz karty cokolwiek autoryzował
Cokolwiek na tej liście wymaga prawdziwego procesora płatności lub banku emisyjnego. Traktuj to narzędzie jako sprawdzenie pierwszej linii, a nie jako dowód, że karta autoryzuje.
Praktycznie wszystkie. Walidator rozpoznaje:
- Główne sieci. Visa, Mastercard, American Express, Discover
- Marki regionalne. JCB (Japonia), China UnionPay, RuPay (Indie), Mir (Rosja), Troy (Turcja)
- Sieci debetowe. Maestro, Visa Electron, Interac
- Inne marki. Diners Club, Diners Club International, Diners Club enRoute
- Przedpłacone i wirtualne. Popularne zakresy przedpłacone i wirtualne numery kart
Długość może wynosić od 12 cyfr (niektóre karty Maestro) do 19 (formaty rozszerzone). Jeśli marka nie figuruje w tabeli, nadal otrzymujesz wynik Luhn i to, co baza BIN ma na temat emitenta.
Na samym numerze: suma kontrolna Luhn (Mod-10), długość, marka karty i 6-cyfrowy BIN.
Z wyszukiwania BIN: bank emisyjny, typ karty (kredytowa, debetowa, przedpłacona, wirtualna), kraj emisji i strona emitenta, jeśli ją posiadamy.
Czego nie sprawdza: CVV lub CVC, daty ważności, salda konta, statusu aktywacji, imienia posiadacza karty, adresu rozliczeniowego ani niczego innego, co zależy od aktywnego konta.
Tak, z jednym zastrzeżeniem. Świetnie nadaje się do testowania tych części stosu, które nie potrzebują aktywnej bramki: walidacja formularzy, wykrywanie marki, routing BIN, komunikaty błędów i oczyszczanie danych wejściowych.
Do wszystkiego, co musi autoryzować lub symulować odrzucenie, użyj kart testowych publikowanych przez twojego procesora (zob. przewodnik testowania Stripe, karty sandbox PayPal i podobną dokumentację procesora). Te numery wyzwalają określone symulowane odpowiedzi w środowisku testowym procesora.
Uczciwa odpowiedź: zazwyczaj prawidłowe, nigdy doskonałe. Regularnie odświeżamy zbiór danych, ale zakresy BIN się zmieniają. Emitenci dodają nowe zakresy, wycofują stare, łączą się z innymi bankami lub przekazują portfele innemu sponsorowi BIN.
Jeśli BIN nie pasuje do żadnego wpisu w bazie, walidator nadal uruchamia sprawdzenie Luhn i przełącza się na wykrywanie marki z prefiksu. W przypadku wszelkich działań komercyjnych potwierdź z emitentem lub własnymi danymi BIN sieci kart.
Wystarczająco bezpieczne do swojego zadania. Numer jest przetwarzany w pamięci i odrzucany, żądania są przesyłane przez HTTPS, reCAPTCHA filtruje automatyzację, tokeny CSRF chronią każde przesłanie formularza i nigdy nie wywołujemy bramki płatności.
Ogólnie rzecz biorąc, preferuj wklejanie testowych numerów kart lub numerów, którymi chętnie się dzielisz. Jeśli walidujujesz własne karty produkcyjne, najbezpieczniejszym miejscem do uruchomienia tej logiki jest twoje własne środowisko z tymi samymi regułami Luhn i BIN.