IBAN Üretici

IBAN üretici ile ödeme, para çekme ve cari hesap formlarının testi için MOD-97 kontrolünden geçen test IBAN hazırla. Banka seç, kopyala, testine dön.

TR280001207900600537207277

Halkbank · banka kodu 00012

  • 26 karakter
  • TR ile başlıyor
  • MOD-97 tutuyor
  • Banka kodu tanınıyor

Geçmiş

    26 karakter, beş parça

    IBAN üreticisinin yukarıda ürettiği numaranın parçaları. Kontrol haneleri, geri kalan 22 rakamdan MOD-97 ile hesaplanır.

    TR
    1–2

    Ülke kodu

    Türkiye için her zaman TR.

    28
    3–4

    Kontrol

    MOD-97 ile hesaplanır.

    00012
    5–9

    Banka kodu

    Halkbank

    0
    10

    Rezerv

    Şu an hep 0.

    7900600537207277
    11–26

    Hesap numarası

    Şube ve hesap bilgisi; her banka kendi düzenini kullanır.

    Adım 1

    Başı sona taşı

    İlk dört karakter (TR ve kontrol) sona alınır, kontrol yerine 00 yazılır.

    …207277 + TR00
    Adım 2

    Harfleri sayıya çevir

    A = 10, B = 11 … Z = 35. T 29, R 27 olur ve 28 haneli bir sayı çıkar.

    …207277292700
    Adım 3

    97'ye böl

    Sayının 97'ye bölümünden kalan 98'den çıkarılır; sonuç kontrol haneleridir.

    98 − 70 = 28

    IBAN üretici ve TR IBAN rehberi

    IBAN'ın yapısı, MOD-97 kontrolü, banka kodları listesi ve formlarda IBAN alanını doğru doğrulamak için bilmen gerekenler.

    IBAN nedir?

    IBAN (International Bank Account Number), bir banka hesabını uluslararası standart bir biçimde tanımlayan numaradır. Türkiye'de IBAN her zaman TR ile başlar ve toplam 26 karakterdir: 2 harfli ülke kodu, 2 haneli kontrol, 5 haneli banka kodu, 1 haneli rezerv alanı ve 16 haneli hesap numarası.

    Havale ve EFT formlarından maaş ödemelerine, pazaryeri satıcı hesaplarından iade ekranlarına kadar para hareketi olan her uygulamada bir IBAN alanı bulunur. Bu alanın doğru doğrulanması, hatalı yazılmış bir IBAN yüzünden ödemenin geri dönmesini ya da yanlış hesaba gitmesini önler.

    IBAN üretici ne işe yarar?

    Bu formları test ederken kendi banka hesabını ya da bir müşterinin IBAN'ını kullanmak hem kişisel veri riski taşır hem de test ortamında gerçek bir hesap bilgisinin dolaşması demektir. IBAN üretici, gerçek bir bankanın koduyla başlayan ama hesap kısmı rastgele seçilen, MOD-97 kontrolünden geçen geçerli IBAN üretir. Böylece doğrulama kodunu, banka adını gösteren alanları ve IBAN'ı 4'erli gruplara bölen görünümü gerçek veriye dokunmadan denersin.

    "IBAN oluşturucu" ya da "test IBAN" diye aranan araç da budur. IBAN üreticisiyle ürettiğin numaralar yalnızca test içindir; bu numaralara para gönderilmemelidir.

    MOD-97 kontrolü nasıl çalışır?

    IBAN'ın 3. ve 4. karakterleri, numaranın geri kalanından ISO 13616 standardındaki MOD-97 yöntemiyle hesaplanır. Doğrulamak için ilk dört karakter sona taşınır, harfler sayıya çevrilir (T = 29, R = 27) ve ortaya çıkan büyük sayının 97'ye bölümünden kalan hesaplanır. Kalan 1 ise IBAN geçerlidir. IBAN üreticisinin ürettiği her numara bu kontrolden geçer.

    Bu yöntem tek bir rakamın yanlış yazıldığı hataların ve yan yana iki rakamın yer değiştirdiği hataların hepsini yakalar; 97 asal bir sayı olduğu için bu hatalar kalanı hiçbir zaman değiştirmeden bırakamaz. Sayı 26 haneden uzun olduğu için JavaScript ve PHP'de doğrudan sayıya çevrilemez; aşağıdaki kodlarda olduğu gibi rakam rakam ilerleyerek kalan hesaplanır.

    Türkiye banka kodları listesi

    IBAN'ın 5. ile 9. karakterleri arasındaki beş haneli kod, hesabın hangi bankada olduğunu gösterir. IBAN üreticisinde seçebildiğin bankalar ve kodları:

    Ziraat Bankası00010
    Halkbank00012
    VakıfBank00015
    TEB00032
    Akbank00046
    Garanti BBVA00062
    İş Bankası00064
    Yapı Kredi00067
    ING00099
    QNB00111
    DenizBank00134
    Enpara Bank00157
    Ziraat Dinamik Banka00160
    Albaraka Türk00203
    Kuveyt Türk00205
    Türkiye Finans00206
    Ziraat Katılım00209
    Vakıf Katılım00210
    Emlak Katılım00211

    Yeni bankalar kuruldukça ya da birleşmeler oldukça liste değişir; güncel listenin tamamı TCMB'nin ödeme sistemleri katılımcıları sayfasında yayımlanır. Banka adını gösteren bir arayüz yapıyorsan, listede olmayan bir kod geldiğinde IBAN'ı reddetmek yerine yalnızca banka adını boş bırakmak daha güvenlidir.

    Formlarda IBAN alanı

    Kullanıcılar IBAN'ı genellikle bankacılık uygulamasından boşluklu ya da küçük harfli olarak kopyalar. Doğrulamadan önce boşlukları sil ve harfleri büyük harfe çevir; saklarken boşluksuz, gösterirken 4'erli gruplar halinde göster. Alanın başına sabit bir "TR" yazıp kullanıcıdan yalnızca 24 rakam istemek de yaygın ve hata riskini azaltan bir yöntemdir.

    Test ortamında IBAN üreticisiyle aldığın geçerli numaraların yanında, tek karakterini değiştirdiğin geçersiz IBAN'larla da deneme yap; IBAN doğrulama kodunun ikisini de doğru ayırması gerekir. Ödeme formunun tamamını test ediyorsan sanal POS test kartları, alıcı bilgisi için TC kimlik numarası ve vergi kimlik numarası üreticilerini de kullanabilirsin.

    function mod97(s) {
      let r = 0;
      for (const ch of s) r = (r * 10 + Number(ch)) % 97;
      return r;
    }
    
    function ibanUret(bankaKodu) {
      let hesap = '';
      for (let i = 0; i < 16; i++) hesap += Math.floor(Math.random() * 10);
      const bban = bankaKodu + '0' + hesap;
      const kontrol = String(98 - mod97(bban + '292700')).padStart(2, '0');
      return 'TR' + kontrol + bban;
    }
    
    function ibanGecerliMi(iban) {
      iban = String(iban).replace(/\s/g, '').toUpperCase();
      if (!/^TR\d{24}$/.test(iban)) return false;
      return mod97(iban.slice(4) + '2927' + iban.slice(2, 4)) === 1;
    }

    Sık sorulan sorular

    Banka kodları, MOD-97 kontrolü ve ödeme formu testleri hakkında sorular.

    IBAN üreticisinin ürettiği IBAN'lar gerçek bir hesaba mı ait?

    Banka kodu gerçek bir bankaya aittir, hesap kısmı ise rastgele üretilir ve MOD-97 kontrolünden geçecek şekilde tamamlanır. Böyle bir hesabın var olup olmadığını bilmeyiz ve sorgulamayız; numara tesadüfen gerçek bir hesapla eşleşebilir.

    Bu IBAN'lara para gönderebilir miyim?

    Hayır, gönderme. Numaralar yalnızca form, doğrulama ve arayüz testleri içindir. Gerçek bir transfer denemesi, varsa başkasına ait bir hesaba para gönderilmesine yol açabilir.

    IBAN doğrulaması neyi kontrol eder?

    Numaranın 26 karakter olduğunu, TR ile başladığını, MOD-97 kontrol hanelerinin tuttuğunu ve banka kodunun bilinen bir bankaya ait olduğunu. Hesabın açık olup olmadığını ya da kime ait olduğunu göstermez; bunu yalnızca banka bilir.

    IBAN üreticideki banka kodları güncel mi?

    Liste TCMB'nin ödeme sistemleri katılımcı listesine dayanır ve yeni kurulan bankalarla birlikte güncellenir. Listede olmayan bir kod gördüğünde doğrulama aracı IBAN'ı yine kontrol eder ama banka adını gösteremez.

    IBAN boşluklu mu yazılmalı, bitişik mi?

    Kâğıtta ve ekranda okunurluk için 4'erli gruplar halinde yazılır, sistemlerde ise boşluksuz saklanır. Formunda kullanıcı hangi biçimde yapıştırırsa yapıştırsın boşlukları temizleyip büyük harfe çevirmen yeterli.

    Ödeme sağlayıcılarının test ortamlarında kullanabilir miyim?

    IBAN üreticisinin numaralarını kendi uygulamandaki IBAN alanlarını ve doğrulama kodunu test etmek için kullanabilirsin. Ödeme ve para çekme sağlayıcılarının sandbox ortamları genellikle kendi verdikleri test hesaplarını ister; onların dokümanına bak.

    Üretilen IBAN'lar sunucuya gönderiliyor mu?

    Hayır. Numaralar tarayıcında üretilir ve doğrulanır. Geçmiş listesi sadece senin tarayıcında saklanır.

    Klavye kısayolları neler?

    Space yeni IBAN üretir, C kopyalar. IBAN'ın üstüne tıklamak da kopyalar.