Nexto
Ana sayfaBlogHavale ve bankacılık
Havale ve bankacılık

Şeba Numarası Rehberi — Yapı, Doğrulama ve Sorgulama

Şeba hangi parçalardan oluşur, bankayla temas kurmadan nasıl doğrulanır, Şeba sorgusu neyi söyler neyi söylemez ve en çok havaleyi iade ettiren beş hata.

6 dk okuma · Nexto ekibi · Son güncelleme: 16 Temmuz 2026

Şeba (İran banka hesap numarası), küresel IBAN standardının İran’daki karşılığıdır. Amacı basit: Her bankanın kendi usulüne göre verdiği ve bankalar arasında anlam taşımayan hesap numaraları yerine, ülke genelinde her banka hesabı için tekil bir tanımlayıcı.

Döviz bürosu için Şeba sadece bir form alanı değildir. Buradaki hata, havalenin geri dönmesi demektir (iyimser senaryo) ya da paranın yanlış hesaba gitmesi demektir (kötümser senaryo). Bu rehber, ekibinizin bilmesi gereken şeydir.

Şeba’nın yapısı

İran Şeba’sı 26 karakterdir: iki harf IR ve ardından 24 rakam. Ne bir fazla, ne bir eksik.

IR 21 017 0000000012345678901 Ülke kodu Sabit Kontrol haneleri 2 hane Banka kodu 3 hane Hesap kimliği 19 hane — soldan sıfırla doldurulur 26 karakter: IR + 24 hane Kontrol haneleri MOD-97 ile üretilir — internetsiz de doğrulanabilir
IBAN yapısı: sabit uzunlukta dört bölüm. Banka kodu, transferin banka içi mi yoksa bankalar arası mı olduğunu söyler.
  • Ülke kodu: Her zaman IR.
  • Kontrol rakamları: Numaranın geri kalanından matematiksel olarak üretilen iki rakam. Görevleri tek: yazım hatasını yakalamak. Bir rakamı yanlış girerseniz, bu iki rakam artık tutmaz.
  • Banka kodu: Bankayı belirleyen üç rakam.
  • Hesap tanımlayıcısı: Bankanın kendisinin tahsis ettiği 19 rakam. Hesap numarası daha kısaysa, soldan sıfırlarla tamamlanır — ve bu sıfırlar Şeba’nın parçasıdır, süs değil.

Pratik not: Banka kodu size havalenin banka içi mi olduğunu söyler (aynı banka, anlık ve masrafsız) yoksa bankalar arası mı olduğunu (PAYA/SATNA, farklı süre ve masrafla). Bu tek ayrım, “şimdi ulaştı” ile “yarın ulaştı” arasındaki farkı yaratır.

Sık kullanılan banka kodlarından örnekler

Kod Banka
012 Bank Mellat
015 Bank Sepah
016 Bank Keshavarzi
017 Bank Melli Iran
018 Bank Tejarat
019 Bank Saderat Iran
021 Post Bank
054 Parsian
055 Eghtesad Novin
056 Saman
057 Pasargad

Bu liste tam değildir ve değişir de — banka birleşmeleri bazı kodları kullanım dışı bırakır. Referans listeyi İran Merkez Bankası’ndan alın ve yazılımınızda hardcode edilmişse yılda bir kez güncelleyin.

Doğrulama: Herhangi bir temastan önce kendiniz kontrol edin

Şeba kontrol rakamları, standart MOD-97-10 algoritmasıyla (ISO 7064’ten) üretilir. İşin güzel tarafı şu: Kontrol etmek için hiçbir servise veya internete ihtiyacınız yok — kâğıt üzerinde bile yapılabilir:

  1. İlk dört karakteri (IR + iki kontrol rakamı) alın ve numaranın sonuna taşıyın.
  2. Harfleri sayıya çevirin: A=10, B=11, … I=18, … R=27, … Z=35. Yani IR, 1827 olur.
  3. Artık çok büyük bir sayınız var. 97’ye bölümünden kalanı hesaplayın.
  4. Kalan tam olarak 1 ise, Şeba yapısal olarak geçerlidir. Başka herhangi bir sayı hatalı demektir.

Sayı normal tamsayı kapasitesinden büyük olduğu için pratikte basamak basamak ilerlenir:

function shebaValid(string $sheba): bool
{
    $s = strtoupper(preg_replace('/[\s-]/', '', $sheba));
    if (! preg_match('/^IR[0-9]{24}$/', $s)) {
        return false;                       // uzunluk veya biçim hatalı
    }

    $re  = substr($s, 4).substr($s, 0, 4);  // ilk dört karakter sona
    $num = '';
    foreach (str_split($re) as $ch) {
        $num .= ctype_alpha($ch) ? (string) (ord($ch) - 55) : $ch;
    }

    $rem = 0;                               // basamak basamak mod 97
    foreach (str_split($num) as $d) {
        $rem = ($rem * 10 + (int) $d) % 97;
    }

    return $rem === 1;
}

Bu on satır kod, yazım hatalarının çoğunu size maliyet çıkmadan önce yakalar. Ücretli sorgu servisi kullanıyorsanız, bu kontrolü her zaman önce yapın; biçimi bozuk bir Şeba’yı servise göndermek, “hatalı” cevabını duymak için para ödemek olur.

Ama dikkat edin: Geçerli olmak, “bu numara bir Şeba olabilir” demektir — “bu hesap vardır” demek değildir. Hiçbir hesaba bağlı olmayan, tamamen geçerli bir Şeba üretilebilir. Hesabın varlığını ve sahibini bilmenin sorgudan başka yolu yoktur.

Şeba sorgusu ne söyler?

Sorgu genellikle üç şey döndürür:

  • Hesap sahibinin adı — en önemli bölüm.
  • Banka adı — banka kodunun teyidi.
  • Para kabul edebilirlik — bazı hesaplar (bloke, hareketsiz veya özel türler) para girişini kabul etmez. Bunu göndermeden önce bilmek, bir iade daha az demektir.

Döviz bürosu için hesap sahibinin adı sadece kolaylık değildir; gerçek bir kontroldür:

  1. Adın müşteriyle eşleşmesi. Müşteri “Reza Ahmadi” ise ve Şeba başka birinin adınaysa, bir soru sormanız gerekir. Bazen cevap basit ve doğrudur (eşin hesabı, şirket hesabı). Bazen de değildir.
  2. Sessiz hatalar. Yapısı doğru olan ama başka birine ait olan Şeba hiçbir hata vermez. Para gider ve geri almak artık teknik bir mesele değildir — hukuki bir meseledir.
  3. Uyum kayıt izi. “Bu havale kaydedildiği anda Şeba şu kişinin adınaydı” bilgisini kaydetmek, KYC dosyanızın bir parçasıdır. Üç ay sonra biri bu havalenin neden yapıldığını sorduğunda cevabınız olur.

En çok havaleyi iade ettiren beş hata

  • Kaybolan baştaki sıfırlar. O 19 rakam sıfırla başlıyorsa ve Şeba Excel’e yazılmışsa, Excel sıfırları “temizler” ve Şeba bozulur. Şeba’yı her zaman metin olarak tutun, sayı olarak değil. (Excel burada da sessizce bozar.)
  • Farsça ve Arapça rakam karakterleri. Müşteri telefondan kopyalar ve 123 değil ۱۲۳ gelir. Göz için aynıdır; bankacılık sistemi için tamamen farklı iki şey. Girdileri her zaman Latin rakamlarına normalize edin.
  • IR atlanmış veya iki kez eklenmiş. Bazı sistemler IRyi kendisi ekler, müşteri de eklemiştir: IRIR…. Girdiyi normalize edin, hemen reddetmeyin.
  • Boşluk, tire ve görünmez karakter. WhatsApp’tan kopyalama çoğu zaman görünmeyen ama metin dizisini bozan yön karakterlerini de (RTL/LTR) getirir. 0-9 ve IR dışındaki her şeyi silin.
  • 1 yerine I, 0 yerine O. Şeba kâğıttan veya fotoğraftan okunduğunda olur. MOD-97 doğrulaması bunu yakalar — tabii çalıştırırsanız.

Genel kural: Girdiyi normalize edin, sonra doğrulayın, sonra sorgulayın. Bu sırayla. “Şeba hatalarının” çoğu aslında normalizasyon hatasıdır, müşteri hatası değil.

Hesap numarası Şeba’ya çevrilebilir mi?

Kısmen. Her bankanın hesap numarasından 19 rakam üretmek için kendi kuralı vardır ve bu kurallar resmi ve kalıcı değildir. Online dönüştürücüler genellikle tersine mühendisliğe dayanır ve bazı hesap türlerinde yanlış sonuç verir.

Pratik tavsiye: Şeba’yı müşterinin kendisinden alın (banka uygulamasında ve karttan karta transfer ekranlarında bulunur) ve sonra sorgulayın. Formülle Şeba üretip buna dayanarak para göndermek, değmeyecek bir risktir.

Bu iş manuel yapılmaz

Şeba sorgusu sessizce ve doğru yerde yapılması gereken bir iştir; operatörün başka bir sekme açıp kopyala-yapıştır yapması gereken bir iş değil.

Nexto’da, banka havalesi formunda Şeba alanından çıktığınız anda yerel doğrulama yapılır; geçerliyse sorgu gider ve hesap sahibi adı ile banka otomatik doldurulur — yeşil veya kırmızı göstergeyle. Operatör bakmak dışında bir şey yapmaz. Sonuç önbelleğe alındığı için, aynı Şeba’nın aynı döviz bürosu tarafından tekrar sorgulanması ayrıca maliyet doğurmaz.

Pratik sonuç: Otomatik yapılan kontrol, her zaman yapılır. Manuel olan kontrol ise tam da en yoğun günde — en önemli olduğu gün — atlanır.

Özet

Şeba’nın üç katmanı vardır ve üçü de gerekir: normalizasyon (fazla karakterler ve Latin olmayan rakamlar), doğrulama (MOD-97, ücretsiz ve offline) ve sorgulama (hesabın varlığı ve sahibi; paranın nereye gittiğini bilmenin tek yolu).

İlk ikisini bugün, hiçbir maliyet olmadan sisteminize ekleyebilirsiniz. Üçüncüsünün küçük bir maliyeti vardır; karşılığında iadeleri, pahalı hataları ve cevapsız uyum sorularını azaltır.

Bunların hepsini Nexto'da görün

Örnek verilerle size özel eksiksiz bir kopya — kurulum yok, kredi kartı yok.

Ücretsiz demo oluştur
WhatsApp'tan Danışın