Kredi Kartı Doğrulayıcı (Luhn kontrolü + marka algılama)
Luhn kontrolünü geçip geçmediğini ve markayı (Visa, Mastercard, Amex, Discover, JCB, Diners, UnionPay) IIN/BIN aralığına göre tespit etmek için bir kart numarası yaz.
Nasıl çalışır
Bu doğrulayıcı neyi kontrol ediyor (ve etmiyor)?
Üç kontrol: (1) ön ek, bilinen bir yayıncının IIN/BIN aralığıyla eşleşiyor mu, (2) uzunluk bu marka için geçerli uzunluklardan biri mi, (3) Luhn sağlama toplamı geçiyor mu. Üçü de doğruysa, numara sözdizimsel olarak geçerli bir kart numarasıdır.
Bu, şunu KONTROL ETMEZ: kartın gerçekten var olup olmadığını, bakiyesi olup olmadığını, kart hamilinin kullanımı yetkilendirip yetkilendirmediğini. Bunlar için uygun yetkilendirmeyle gerçek bir ödeme işlemcisinden geçmek gerekir. Bu araç yazım hatalarını ucuza yakalar — yapıştırmada 1234 ile 1243 gibi — ama kartın gerçek bir hesaba ait olduğunu doğrulayamaz.
Luhn algoritması nasıl çalışır?
Luhn (1954, IBM bilim insanı Hans Peter Luhn tarafından) basit bir sağlama toplamıdır: en sağdaki rakamdan başlayarak, her ikinci rakamı ikiye katla. İkiye katlanan rakam 9'u geçerse iki basamağını topla (veya eşdeğer olarak 9'u çıkar). Tüm sonuçları topla. Toplam 10'a bölünebilir olmalıdır.
Luhn, tek basamak hatalarını ve çoğu komşu yer değiştirmeyi yakalar — insanların uzun sayıları kopyalarken en yaygın iki yazım hatasıdır. Kriptografik değildir; kötü niyetli kurcalamayı tespit etmek için kullanamazsın. Gerçek kart işlemcileri, daha pahalı arka uç kontrollerinden önce ilk hat filtresi olarak Luhn kullanır.
IIN/BIN ile marka algılama
Kart numarasının ilk 6-8 basamağı yayıncıyı tanımlar (Yayıncı Tanımlama Numarası / Banka Tanımlama Numarası). Büyük markaların iyi bilinen ön ek aralıkları vardır: Visa 4 ile başlar, Mastercard 51-55 veya 2221-2720 ile, Amex 34 veya 37 ile vb. Markayı bu aralıkları eşleştirerek tespit ediyoruz.
Marka ve ülke genellikle IIN'den çıkarılabilir. Tam IIN veritabanı aramaları ülke, banka, kart türü (banka kartı/kredi kartı) ve program verir — tüccarlar tarafından risk puanlaması için kullanılır. Yalnızca en yaygın marka kalıplarını dahil ediyoruz.
Sık sorulan sorular
›Gerçek kart numaram için bu araca güvenmeli miyim?
Yalnızca tarayıcında çalışmamıza rağmen, gerçek kart numaranı derin güvenmediğin bir araca asla yapıştırmamalısın. Sözdizimi kontrolleri için standart test kart numaralarından birini kullan (örn. 4111 1111 1111 1111).
›Gerçek görünümlü bir numara için neden 'geçersiz' alıyorum?
Çoğunlukla Luhn sağlama toplamı başarısız olur — muhtemelen bir yazım hatası. Rakamları bir kez daha kontrol et.
›Luhn doğrulaması kartın var olduğunu kanıtlıyor mu?
Hayır. Luhn yalnızca aktarım hatalarını yakalar. Çıkarılmamış pek çok numara Luhn'u geçer; yanlış yazılmış gerçek kartların çoğu Luhn'da başarısız olur.
›'BIN' nedir?
Banka Tanımlama Numarası — yayıncıyı tanımlayan ilk 6-8 basamak. IIN (Yayıncı Tanımlama Numarası) ile aynıdır; terimler birbirinin yerine kullanılır.
›Test kart numarası oluşturmak için kullanabilir miyim?
Doğrudan değil, ama standart Stripe/Visa/Mastercard test numaraları iyi belgelenmiştir (örn. 4242 4242 4242 4242). Luhn'u geçerler ama asla ücret almazlar.
›Neden [bazı markalar] algılanmıyor?
Büyük markaları destekliyoruz. Bölgesel veya ortak markalı kartlar eşleşmeyebilir. Kullandıkları IIN aralıkları için yayıncının belgelerine bak.
›Veriler tarayıcımı terk ediyor mu?
Hayır. Doğrulama tamamen tarayıcında ağ çağrısı olmadan çalışır.
›Luhn kredi kartları dışında kullanılıyor mu?
Evet — IMEI numaraları, Kanada SIN, ISIN, NPI ve pek çok diğer kimlik sistemi Luhn kullanır. Algoritma aynıdır; yalnızca ön ek eşleşmeleri farklıdır.
İlgili araçlar
Son güncelleme: