Merhabalar, C# Kredi Kartı Numarasındaki Bilgiler dersim ile C# eğitim setime devam ediyorum. Kredi kartı bilgileri üzerine bu 3. dersim olacak. :) Hepsini tek ders içerisinde verebilirdim ancak ayrı ayrı vermenin daha iyi olacağını düşündüm. Bu sebeple bu üçe bölmüş oldum.
C# Kredi Kartı Numarasındaki Bilgiler
Önceki derslerimizde Luhn Algoritması ve Kart tipini bulma konusuna bakmıştık. Bu dersimizde kredi kart numarasında hangi bilgilerin olduğunu ve elde edebileceğimiz tüm bilgileri nasıl alacağımızı göreceğiz.
Maddeler halinde görelim;
- Kredi kart numarasının ilk hanesi kart türünü belirtir.
- Kartın ilk hanesi 1 veya 2 ise uçuş kartı, 3 ise seyahat veya eğlence kartı, 4 veya 5 ise Hesap Kartı (Visa, Master, AmaricanExpress vs..), 6 ise kredi kartı, 7 ise Akaryakıt kartı, 8 ise haberleşme kartı ve son olarak 9 ise Uluslararası bir kartı simgeler.
- Kredi kart numarasının ilk 6 hanesi banka tarafından verilen BIN (Bank Identification Number) kodudur.
- Kredi kart numarasının 7. ile 15. haneleri arasında kalan kısım kartın hesap numarasını verir.
- Kredi kart numarasının son hanesi Lunh algoritması kontrol sayısıdır.
Gördüğümüz gibi bir kredi kartı numarasındaki bilgiler bu kadar çok. Şimdi gelelim bu bilgileri alacak olan kodlarımızı yazmaya…
C# Kredi Kartı Numarasındaki Bilgileri Almak
Yukarıdaki tüm maddeleri ayrı metotlar olarak vereceğim…
Kart Türünü Almak
string Kart_Turu(string kart_no) { switch (kart_no.Substring(0, 1)) { case "1": return "Hava Yolları Kartı"; case "2": return "Hava Yolları Kartı"; //case "2": goto case "1"; case "3": return "Seyahat/Eğlence Kartı"; case "4": return "Hesap Kartı"; case "5": return "Hesap Kartı"; case "6": return "Alışveriş Kartı"; case "7": return "Akaryakıt Kartı"; case "8": return "Haberleşme Kartı"; case "9": return "Uluslararası Kart"; default: return "Bilinmeyen Kart Türü"; } }
Switch Case burada kullanılması en mantıklı yöntemdir. Burada Case “2” kısmında Goto Case “1” de diyebilirdik. Yani gelen veri 2 ise case “1”‘deki işlemleri yap demiş oluruz. Ancak zaten bir kaç kelime yazdığımızdan gerek duymadım.
BIN Kodunu Almak
string BIN_Kodu(string kart_no) { return kart_no.Substring(0, 6); }
Hesap Numarasını Almak
string Hesap_No(string kart_no) { return kart_no.Substring(6, 9); }
Luhn Algoritması Kontrol Numarasını Almak
string Luhn_Kod(string kart_no) { return kart_no.Substring(kart_no.Length - 1, 1); }
Gördüğünüz gibi basit bir substring ile kart numarasından istediğimiz bilgileri aldık. Şimdi bu metotları nasıl kullanacağımıza bakalım.
private void btn_kontrol_Click(object sender, EventArgs e) { string kart_no = _000_Classlar.Global.KartNoTemizle(txt_card_no.Text); lbl_kart_turu.Text = Kart_Turu(kart_no); lbl_bin_kodu.Text = BIN_Kodu(kart_no); lbl_hesap_no.Text = Hesap_No(kart_no); lbl_kontrol_sayi.Text = Luhn_Kod(kart_no); }
_000_Classlar klasörü Github projemdeki classları sakladığım yerdir. Önceki dersimde verdiğim KartNoTemizle metodunu Global adlı Class’a aldım ve oradan kullandım. Çünkü kart numarası girerken ayraçlar kullanılmış olabilir. Bu yüzden ilk önce o ayraçları temizlememiz gerekiyor.
NOT: Bankaların BIN kodlarını bilemediğim için hangi banka olduklarını yazdırmam mümkün değildi. Eğer aranızda bilenler var ise yorum olarak atabilir. O zaman BIN kodundan hangi banka olduğunu gösterebiliriz.
C# Kredi Kartı Numarasındaki Bilgiler dersimde bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere… Bu dersimizle C# kredi kartı işlemleri ders serisini tamamlamış olduk.
C# Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme bağlantıya tıklayarak ulaşabilirsiniz… Bu dersimde Github projemde yerini almıştır.
Sağlıcakla ve takipte kalın.