Kredi Kartı Doğrulama ve Bilgi Sorgulama Uygulaması: Pratik Anlatım
İNDİRME LİNKİ

Bu yazıda, dosyalarda verilen Python kodunun ne işe yaradığını ve nasıl çalıştığını pratik bir şekilde, fazla teknik terimlere girmeden açıklayacağız. Kod, bir kullanıcının kredi kartı numarasını girerek, kartın geçerli olup olmadığını ve hangi bankaya ait olduğunu öğrenmesini sağlayan bir masaüstü uygulamasını içeriyor.
Ana Hedef Nedir?
Bu uygulamanın ana amacı, kredi kartı numarasını giren bir kullanıcının kartın doğruluğunu ve kart hakkında bazı bilgileri kontrol etmesine olanak tanımaktır. Kullanıcı, uygulamaya kredi kartı numarasını girdiğinde şu işlemler yapılır:
- Kart numarası Luhn algoritması ile doğrulanır. Bu, kart numarasının geçerli olup olmadığını kontrol eden bir matematiksel yöntemdir.
- Kartın hangi tür olduğu belirlenir (Visa, MasterCard, American Express vb.).
- Kartın BIN numarasına göre (kart numarasının ilk 6 hanesi) hangi bankaya ait olduğu ve kartın altyapısı (Visa, MasterCard gibi) sorgulanır.
Şimdi adım adım bu işlemlerin nasıl yapıldığına bakalım.
1. Luhn Kontrolü (Kart Geçerlilik Testi)
Bu uygulamada ilk olarak girilen kart numarasının geçerli bir kart numarası olup olmadığına bakılır. Bunu yapmak için Luhn algoritması kullanılır.
- Luhn algoritması: Kart numarasının geçerli olup olmadığını matematiksel bir işlemle kontrol eder. Eğer kart numarası Luhn kontrolünden geçemezse, kart numarası hatalıdır ve işlem yapılmaz.
Bu algoritma, kart numarasının her basamağını ters çevirip belirli kurallarla kontrol eder ve doğru olup olmadığına karar verir.
Örnek:
Bir kart numarasını ters çevirip çift basamaklarda belirli matematiksel işlemler yaparak sonuç bulur. Eğer sonuç 10’a tam bölünüyorsa kart geçerlidir.
2. Kart Tipi Belirleme
Girilen kart numarasına göre, kartın hangi tür olduğu (Visa, MasterCard, American Express vb.) düzenli ifadeler (regular expressions - regex) kullanılarak belirlenir. Kart numaralarının ilk birkaç hanesi kart türünü tanımlar. Örneğin:
- Visa kartları genelde 4 ile başlar.
- MasterCard kartları 51-55 arasında sayılarla başlar.
Bu kontrol, kart numarasına bakarak kartın hangi tip olduğunu otomatik olarak belirler.
3. BIN Sorgulama (Kart Banka Bilgisi)
Kart numarasının ilk 6 hanesine BIN (Bank Identification Number) denir. Bu sayı, kartın hangi bankaya ait olduğunu ve kartın altyapısını (Visa, MasterCard, Discover gibi) tanımlar.
Uygulama, bu 6 hanelik BIN numarasını alıp gerçek zamanlı olarak bir API üzerinden sorgulama yapar. Bu API, kartın hangi bankaya ait olduğunu ve kart altyapısı hakkında bilgi sağlar. Eğer API’den gelen bilgilere göre kartın hangi bankaya ait olduğu belirlenirse, bu bilgi ekranda kullanıcıya gösterilir.
Örnek:
Bir Visa kartının ilk 6 hanesi, kartın X Bankası’na ait olduğunu ve Visa altyapısında olduğunu belirleyebilir. Uygulama bu bilgiyi kullanıcıya gösterir.
4. PyQt5 ile Arayüz Tasarımı
Bu kod, PyQt5 kütüphanesini kullanarak bir masaüstü uygulaması arayüzü oluşturur. PyQt5, Python ile görsel uygulamalar geliştirmek için kullanılan popüler bir araçtır.
- Uygulamada, kullanıcı kredi kartı numarasını 4 hanelik bölümler halinde girebilir.
- Girilen kart numarasının geçerli olup olmadığı, kartın türü, banka bilgisi ve altyapısı ekranda gösterilir.
- Kartın türüne göre (Visa, MasterCard) uygun logo da ekranda gösterilir.
Arayüz Özellikleri:
- Kart Numarası Girişi: Kullanıcı kart numarasını 4 haneli bloklar halinde girer.
- Bilgi Etiketleri: Uygulama, kartın hangi bankaya ait olduğunu, kartın altyapısını ve türünü gösterir.
- Hata Mesajları: Kart numarası geçerli değilse, kullanıcıya bir hata mesajı gösterilir.
Uygulamanın Genel İşleyişi
- Kullanıcı kart numarasını dört parça halinde uygulamaya girer.
- Luhn kontrolü yapılır. Eğer kart numarası geçerli değilse, hata mesajı gösterilir.
- Kart numarası geçerliyse, kartın türü (Visa, MasterCard vb.) belirlenir.
- İlk 6 hanesi (BIN) ile kartın hangi bankaya ait olduğu ve altyapısı (Visa, MasterCard) API ile sorgulanır.
- Bilgiler ekranda kullanıcıya gösterilir.
Sonuç
Bu uygulama, kullanıcının kredi kartı numarasını girip kartın geçerli olup olmadığını, kartın türünü ve hangi bankaya ait olduğunu öğrenmesini sağlar. Bu tarz bir uygulama, e-ticaret, finansal işlemler veya kart doğrulama gerektiren farklı iş alanlarında kullanılabilir.