İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Kredi Kartı Numarasındaki Bilgiler

C# Kredi Kartı Numarasındaki Bilgiler
+ - 0

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. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)