Önce en önemli ayrımı yapalım

Elinizdeki IBAN'ın yazımında hata olup olmadığını araştırmakla, paranın doğru kişiye gideceğini doğrulamak aynı işlem değildir. Bu sayfadaki araç birinci işin belirli parçalarını yapar: Türkiye biçimini inceler ve kontrol basamağını hesaplar. Bankaya bağlanmaz, hesap sahibinin adını öğrenmez, hesabın açık olduğunu sorgulamaz. Sonuçta “Kontrolü geçti” yazması, alışveriş yaptığınız kişinin güvenilir bulunduğu anlamına gelmez. Bir faturadaki IBAN değiştirilmişse, yerine yazılan başka bir geçerli IBAN da matematik kontrolünden geçebilir. Dolayısıyla burada aldığınız sonuç, ödeme hazırlığındaki kontrollerden yalnızca biridir.

Bir benzetme yardımcı olabilir: Bir adresin sokak, bina ve posta kodu biçiminin düzgün yazıldığını kontrol etmek, o adreste kimin yaşadığını öğrenmek değildir. IBAN kontrolünde de numaranın yapısıyla hesabın kimliği ayrıdır. Bu ayrımı başta yapmak, sonuç ekranına gereğinden fazla anlam yüklemenizi önler. Özellikle bir ödeme talebindeki numara son anda değişmişse, matematik kontrolü değişiklik talebinin gerçekliğini kanıtlayamaz.

Türkiye IBAN'ının bölümleri

TCMB'nin açıklanan Türkiye yapısında toplam 26 karakter bulunur. İlk iki karakter ülke kodudur ve Türkiye için TR kullanılır. Sonraki iki rakam kontrol basamağıdır. Ardından beş rakamlık ödeme hizmeti sağlayıcısı kodu, sıfır değerli rezerv alanı ve on altı karakterlik hesap numarası alanı gelir. Hesap alanı rakam ve büyük Latin harfleri içerebilir. Bu nedenle “TR'den sonraki her şey mutlaka rakam olmalı” kontrolü bu araçta kullanılmaz. Türkçe özel harfler ise kanonik yapının parçası değildir.

BölümUzunlukBu araçta yapılan kontrol
Ülke2TR olması
Kontrol2Sayısal olması ve kontrol denkliği
Kurum5Beş rakam olması; sicil sorgusu yok
Rezerv1Sıfır olması
Hesap alanı16Büyük ASCII harf veya rakam olması

Numarayı kutuya nasıl girmelisiniz?

Numarayı mümkünse kurumun kendi ekranından kopyalayın ve tamamını giriş alanına yapıştırın. Dörderli gruplar arasındaki boşluklar bu araç tarafından kaldırılır. ASCII küçük harfler büyük harfe dönüştürülür; örneğin başlangıçtaki tr, TR olarak değerlendirilir. Buna karşılık tire, nokta, eğik çizgi veya Türkçe özel harfleri otomatik silerek numarayı tahmin etmeyiz. Böyle bir işaret varsa hata gösterilir. Çünkü fazla karakteri sessizce temizlemek, gerçek bir kopyalama sorununun fark edilmesini engelleyebilir. Belgedeki numarayı yeniden kontrol etmek daha güvenli bir çalışma biçimidir.

Başta bulunan sıfırları silmeyin. Bu alan bir tutar değil, karakter dizisidir. Bir elektronik tabloda sayı olarak işlenen metnin başındaki sıfırlar kaybolabilir; böyle bir dönüşümü sonradan tahminle tamamlamayın. Eksik numarayı sağlayan kişi veya kurumdan yeniden alın. Araç, eksik hanenin hangi rakam olması gerektiğini size söylemez; kaynağında doğrulanmış numarayla çalışır.

Eğitim örneğiyle ilk kontrol

Formdaki örnek, TCMB belgesinde kullanılan eğitim değeridir: TR47 0000 1001 0000 0350 9300 01. Bu örneğe para gönderilmemelidir. Boşluklar kaldırıldığında 26 karakter kalır ve araç yapının uygun olduğunu gösterir. MOD 97 hesabının kalanı da 1 olur. Bu iki sonuç birlikte “Kontrolü geçti” mesajını üretir. Örnekteki kurum kodunu bir müşteri hesabı bulmak için kullanmıyoruz; yalnızca biçim ve hesap adımlarını açıklamak amacıyla gösteriyoruz.

Örneği düğmeyle yükleyip son karakteri 1 yerine 2 yapın. Karakter sayısı yine 26 olur, alanların şekli de değişmez. Buna rağmen kontrol denkliği bozulur. Böylece yalnızca uzunluğa bakmanın neden yeterli olmadığını görebilirsiniz. Tam uzunluk, doğru matematiksel ilişkiyi garanti etmez. İkinci örnek düğmesi bu değiştirilmiş metni doğrudan yükler; sonuçların hangi satırda ayrıldığını inceleyebilirsiniz.

MOD 97 ne demektir?

MOD, bir bölme işleminin kalanını ifade eder. Örneğin 25'i 7'ye böldüğünüzde üç tane 7 çıkar ve 4 kalır; bu yüzden 25 mod 7 değeri 4'tür. IBAN kontrolünde kullanılan sayı çok daha uzundur, bölen ise 97'dir. Burada bütün numara üzerinde düz bir yüzde hesabı yapılmaz. Önce karakterlerin sırası ve harflerin gösterimi belirli kurala göre değiştirilir, sonra kalan bulunur. Kontrolün amacı, oluşan dizinin beklenen kalan koşuluna uyup uymadığını görmektir.

Araç ilk dört karakteri sona taşır. Harfler A için 10, B için 11 şeklinde Z için 35'e kadar sayısal gösterime çevrilir. Oluşan sayı 97'ye bölündüğünde kalan 1 olmalıdır. Kontrol basamağının yapısı da ayrıca incelenir. Bu işlem bir parola çözme veya banka sistemine erişme yöntemi değildir. Girdi metniyle yapılan, sonucu yerel olarak üretilebilen bir kontrol hesabıdır.

Çok uzun sayı neden doğrudan dönüştürülmüyor?

Bir yazılımın uzun numarayı tek seferde normal sayı türüne çevirmesi hassasiyet kaybına yol açabilir. IBAN'ın bütün basamaklarını aynen korumak önemlidir. Bu uygulama, dönüştürülmüş metni bir dev sayıya çevirmek yerine rakamları sırayla işler. Her adımda önceki kalan onla çarpılır, yeni rakam eklenir ve tekrar 97'ye göre kalan alınır. Böylece ara değer küçük kalır; baştaki sıfırlar veya uzunluk nedeniyle gereksiz bir sayısal yuvarlama yapılmaz.

Yöntemi küçük bir sayıda görebilirsiniz. 1234 için önce 1, sonra 12 değerlendirilir. Üçüncü rakam geldiğinde 123'ün 97'ye bölümünden 26 kalır. Son rakamla 26 × 10 + 4 = 264 elde edilir; kalan 70'tir. 1234'ü doğrudan 97'ye böldüğünüzde de aynı kalan çıkar. Bu, uygulamanın kullandığı adım adım hesabın basitleştirilmiş bir gösterimidir; gerçek IBAN yerine geçecek bir numara değildir.

Sonuç satırlarını birlikte okuyun

İlk satır boşluksuz karakter sayısını gösterir. İkinci satır Türkiye alan yapısının uygunluğunu açıklar. Kontrol basamağı ve MOD 97 sonucu ise sonraki satırlardadır. Yapı geçersizse kalan hesabı yapılmaz; bu durumda sıfır gösterip kullanıcıya yanlış bir matematik sonucu sunulmaz. “Yapı hatası nedeniyle hesaplanmadı” açıklaması görünür. Son satırda hesap ve alıcı doğrulamasının yapılmadığı ayrıca belirtilir. Böylece başarılı bir sayı kontrolünün kapsamı, aynı ekranda açık kalır.

Örneğin 25 karakterlik numaranın sorunu doğrudan uzunluk olabilir. 26 karakter olup rezerv alanında farklı rakam bulunan numara ise yapısal kontrolde kalır. Yalnızca son hanesi değiştirilmiş örnek, yapıdan geçip matematik kontrolünde kalabilir. Bu üç hata aynı değildir. Sonucu tek bir kırmızı etiket olarak görmek yerine ilgili satıra bakmak, kaynaktaki problemi daha hızlı bulmanıza yardım eder.

Harf bulunan hesap alanı

Hesap numarası bölümünde Latin harfi bulunması, tek başına hata nedeni olarak değerlendirilmez. Ancak bu, istediğiniz yere harf yazabileceğiniz anlamına gelmez. Ülke kodu, kontrol rakamları, kurum kodu ve rezerv alanının ayrı kuralları vardır. Örneğin kurum kodu kısmına A eklenmiş bir metin Türkiye alan yapısını karşılamaz. Harfli hesap alanında da MOD 97 kontrolünün sağlanması gerekir. Araç bu ayrımı pozisyona göre yapar; bütün metne uygulanan basit bir “yalnızca rakam” filtresine dayanmaz.

Kullanıcının numarayı alfabeye çevirerek yeniden üretmesi beklenmez. Belgenizde harf bulunduğu için onları sıfırla değiştirmeyin. Özellikle O harfi ile 0 rakamını, I harfi ile 1 rakamını tahmin ederek düzeltmek farklı bir numara oluşturabilir. Emin olunmayan karakter için asıl belgeye dönün. Bu uygulamada benzer görünen karakterleri otomatik eşleştirme yoktur; görünürde kolaylık sağlayan bir tahmin ödeme bilgisini değiştirebilir.

Boşluk değişince neden sonuç aynı kalıyor?

Numarayı dörderli gruplar halinde yazmak okumayı kolaylaştırır. Burada ayırıcı boşluklar esas karakter sayısına dahil edilmediği için boşluklu ve bitişik gösterim aynı sonucu verir. Buna karşılık bir rakamı boşlukla değiştirmek farklıdır: Eksik rakam silinmiş olur ve sayı kısalır. “Boşlukları yok saymak” ile “eksik karakterleri tamamlamak” aynı özellik değildir. Üçüncü örnek düğmesi yalnızca harf boyutu ve boşluk düzeni değiştirilmiş eğitim değerini yükleyerek bu farkı göstermek için hazırlanmıştır.

Görünmeyen özel karakterler de kopyalama sırasında sorun yaratabilir. Araç bilinen boşluk karakterlerini ayırıcı olarak temizler; bunların dışında kalan işaretleri geçerli IBAN karakteri gibi kabul etmez. Başarısız girişlerde uzun numarayı tekrar tekrar elle düzenlemek yerine ilk kaynağı karşılaştırmak daha düzenli bir yöntemdir. Hatanın uzunlukta mı, alan yapısında mı, kontrol basamağında mı olduğunu sonuç satırından okuyun ve yalnızca doğruladığınız düzeltmeyi yapın.

Kurum kodu neden banka adı olarak gösterilmiyor?

Beş rakamlık alanın yapısal olarak uygun olması, o kodun güncel bir kuruma atanmış olduğunu tek başına kanıtlamaz. Bu sürüme canlı kurum kodu sicili bağlanmadı. Bu nedenle numaradaki alanı okuyup doğrulanmış banka adı veya hesap şubesi gibi göstermiyoruz. Yanlış veya eski bir isim eşlemesi, matematiksel olarak doğru kontrol ekranını yanıltıcı hale getirebilir. Kullanıcının elindeki kurum bilgisini ödeme hizmeti sağlayıcısının kendi ekranında kontrol etmesi gerekir; bu araç o ekranın yerine geçmez.

Gizlilik açısından bu araç nasıl çalışır?

Hesaplama, açtığınız dosyanın içindeki JavaScript ile tarayıcıda yapılır. IBAN sorgulamak amacıyla bir banka veya doğrulama servisine ağ isteği gönderilmez. Ana uygulamada bu araç için sonuç karşılaştırma ve dosyaya dışa aktarma da kapalıdır. Böylece kişisel bir numaranın sıradan senaryo raporuna eklenmesi önlenir. Bununla birlikte tarayıcı uzantıları, ekran görüntüleri, cihazdaki başka yazılımlar veya barındırma koşulları için sınırsız güvenlik garantisi verilemez. Gereksiz kişisel veriyi paylaşmamak yine önemlidir.

Bu kontrolü ödeme hazırlığında nereye koyabilirsiniz?

Önce numaranın güvenilir kaynaktan geldiğini belirleyin, sonra yazım kontrolünü yapın, en sonunda kendi ödeme ekranınızdaki alıcı bilgilerini gözden geçirin. Bu sayfa ilk kaynağın sahte olup olmadığını araştırmaz ve işlem onayı vermez. Özellikle hesap numarası değişikliği bir mesajla bildirildiyse, yalnızca aynı mesajdaki iletişim bilgisine güvenerek doğrulamayı tamamlamayın. Buradaki öneri bir garanti değil, yapısal kontrolü kimlik kontrolünden ayrı tutma yaklaşımıdır. Şüpheli bir uyuşmazlık varsa olumlu matematik sonucuna dayanarak ödeme yapmayın.

Sınırları bilerek kullanın

Yabancı ülkelere ait IBAN uzunlukları ve alan yapıları bu sürümde desteklenmez. Türkiye dışı bir numaranın reddedilmesi onun kendi ülkesinde geçersiz olduğunu söylemez. Aynı şekilde kontrolü geçen bir Türkiye IBAN'ı için hesap sahibi, para birimi, bakiye veya transfer kabul durumu hakkında sonuç çıkmaz. Araçtan beklenebilecek doğru fayda şudur: Girdiğiniz metnin tanımlı Türkiye yapısı ve kontrol denklemi açısından tutarlı olup olmadığını anlaşılır adımlarla görmek. Bundan sonraki doğrulama, gerçek ödeme ilişkisinin belgeleri ve ilgili kurum üzerinden yürütülmelidir.

Kopyalama zincirini kontrol etmek

Bir numara size PDF, e-posta, mesaj ve elektronik tablo üzerinden art arda aktarılmış olabilir. Hata ararken yalnızca son kopyayı değiştirmek yerine mümkün olan en erken güvenilir kaynağa dönün. Örneğin PDF içindeki görselden elle yazılmış bir numarayla kurumun kendi ekranından metin olarak alınan numara aynı aktarım sürecine sahip değildir. Bu uygulama görseldeki karakterleri okumaz ve önceki kopyaları karşılaştırmaz. Kaynaklar arasında fark varsa hangi metnin yetkili bilgi olduğunu kullanıcı veya ilgili kurum belirlemelidir.

Uzun karakter dizilerini elektronik tabloda bilimsel gösterime dönüştürmeyin. Numara bir yerde 1,23E+20 benzeri görünüyorsa, onu yeniden uzun rakam dizisine çevirmek kaybolan basamakları geri getirmez. Bu durumda matematik kontrolünü zorlamak yerine ham metni tekrar almak gerekir. Burada kabul edilen girdi tam numaradır; yuvarlanmış sayı, hesap ekranı özeti veya sadece son birkaç hane ile IBAN doğrulaması yapılamaz.