Nexto
ГлавнаяБлогПереводы и банки
Переводы и банки

Номер Sheba: структура и проверка

Что такое номер Sheba, из каких частей он состоит и как проверить его корректность? Практическое руководство по структуре иранского IBAN и отсеву неверных номеров.

7 мин чтения · Команда Nexto · Последнее обновление: 16 июля 2026 г.
🏦 Валидатор SHEBA (иранский IBAN) Бесплатный инструмент, связанный с этой статьей — попробуйте прямо здесь

Sheba (номер банковского счета Ирана) — иранская версия международного стандарта IBAN. Задача простая: единый уникальный идентификатор для каждого банковского счета в стране вместо номеров счетов, которые каждый банк выдавал по своим правилам и которые между банками ничего не значили.

Для обменного пункта Sheba — не просто поле в форме. Ошибка в нем означает, что перевод вернется (в лучшем случае) или уйдет на чужой счет (в худшем). Это руководство — то, что должна знать ваша команда.

Структура Sheba

Иранский Sheba состоит из 26 символов: двух букв IR и затем 24 цифр. Ни на один больше. Ни на один меньше.

IR 21 017 0000000012345678901 Код страны Фиксировано Контрольные цифры 2 цифры Код банка 3 цифры Идентификатор счета 19 цифр — дополняется слева нулями 26 символов: IR + 24 цифры Контрольные цифры рассчитываются по MOD-97 — проверяются офлайн, без интернета
Структура IBAN: четыре части фиксированной длины. Код банка определяет, является ли перевод внутрибанковским или межбанковским.
  • Код страны: всегда IR.
  • Контрольные цифры: две цифры, которые математически рассчитываются из остального номера. У них одна задача: ловить опечатки. Если вы ошибетесь в одной цифре, эти две цифры уже не сойдутся.
  • Код банка: три цифры, определяющие банк.
  • Идентификатор счета: 19 цифр, которые назначает сам банк. Если номер счета короче, он дополняется нулями слева — и эти нули являются частью Sheba, а не украшением.

Практическая деталь: код банка говорит вам, перевод внутрибанковский (тот же банк, мгновенно и без комиссии) или межбанковский (PAYA/SATNA, другое время и комиссия). Одно это определение создает разницу между «дошло сейчас» и «дошло завтра».

Примеры часто используемых банковских кодов

Код Банк
012 Меллат
015 Сепах
016 Кешаварзи
017 Мелли Иран
018 Теджарат
019 Садерат Иран
021 Пост Банк
054 Парсиан
055 Эгтесад Новин
056 Саман
057 Пасаргад

Это не полный список, и он тоже меняется — слияния банков выводят некоторые коды из обращения. Берите справочник у Центрального банка, а если он у вас захардкожен в софте, обновляйте его раз в год.

Валидация: до любого запроса проверяйте сами

Контрольные цифры Sheba строятся по стандартному алгоритму MOD-97-10 (из ISO 7064). Суть хороша тем, что для проверки не нужен ни сервис, ни интернет — это можно сделать даже на бумаге:

  1. Возьмите первые четыре символа (IR + две контрольные цифры) и перенесите их в конец номера.
  2. Преобразуйте буквы в числа: A=10, B=11, … I=18, … R=27, … Z=35. Значит IR превращается в 1827.
  3. Теперь у вас очень большое число. Посчитайте остаток от деления на 97.
  4. Если остаток ровно 1, Sheba структурно корректен. Любое другое число означает ошибку.

Поскольку число больше обычного диапазона целых чисел, на практике идут цифра за цифрой:

function shebaValid(string $sheba): bool
{
    $s = strtoupper(preg_replace('/[\s-]/', '', $sheba));
    if (! preg_match('/^IR[0-9]{24}$/', $s)) {
        return false;                       // неверная длина или формат
    }

    $re  = substr($s, 4).substr($s, 0, 4);  // первые четыре символа в конец
    $num = '';
    foreach (str_split($re) as $ch) {
        $num .= ctype_alpha($ch) ? (string) (ord($ch) - 55) : $ch;
    }

    $rem = 0;                               // mod 97 по цифрам
    foreach (str_split($num) as $d) {
        $rem = ($rem * 10 + (int) $d) % 97;
    }

    return $rem === 1;
}

Эти десять строк кода ловят большинство опечаток до того, как вы заплатите. Если вы используете платный сервис проверки, всегда сначала делайте эту проверку; отправлять в сервис криво набранный Sheba — это платить за ответ «ошибка».

Но обратите внимание: корректный означает «этот номер может быть Sheba», а не «этот счет существует». Можно составить полностью корректный Sheba, который не привязан ни к какому счету. Чтобы узнать наличие счета и его владельца, другого пути кроме запроса нет.

Что показывает запрос по Sheba?

Запрос обычно возвращает три вещи:

  • Имя владельца счета — самая важная часть.
  • Название банка — подтверждение кода банка.
  • Возможность приема средств — некоторые счета (заблокированные, неактивные или специальные типы) не принимают зачисления. Знать это до отправки — минус один возврат.

Для обменного пункта имя владельца счета — не просто удобство. Это реальный контроль:

  1. Сверка имени с клиентом. Если клиент — «Реза Ахмади», а Sheba оформлен на другого человека, нужен вопрос. Иногда ответ простой и правильный (счет супруги, счет компании). Иногда нет.
  2. Тихие ошибки. Sheba, у которого структура правильная, но который принадлежит другому человеку, не даст никакой ошибки. Деньги уйдут, и вернуть их — уже не техническая задача, а юридическая.
  3. След комплаенса. Запись о том, что «на момент оформления этого перевода Sheba был на имя такого-то», — часть вашего KYC-досье. Через три месяца, когда кто-то спросит, почему этот перевод был проведен, у вас есть ответ.

Пять ошибок, из-за которых чаще всего возвращаются переводы

  • Потерянные начальные нули. Если эти 19 цифр начинаются с нуля и Sheba был набран в Excel, Excel «почистит» нули, и Sheba сломается. Храните Sheba всегда как текст, а не как число. (Здесь Excel тоже тихо портит данные.)
  • Персидские и арабские цифры. Клиент копирует с телефона, и приходит ۱۲۳, а не 123. Для глаза одно и то же; для банковской системы это две совершенно разные вещи. Всегда нормализуйте ввод в латинские цифры.
  • IR пропущен или продублирован. Некоторые системы сами добавляют IR, и клиент тоже добавил: IRIR…. Нормализуйте ввод, не отклоняйте его сразу.
  • Пробелы, дефисы и невидимые символы. Копирование из WhatsApp часто приносит еще и управляющие символы направления (RTL/LTR), которые не видны, но ломают строку. Удаляйте все, кроме 0-9 и IR.
  • I вместо 1 и O вместо 0. Когда Sheba читают с бумаги или с фотографии. Валидация MOD-97 это поймает — при условии, что вы ее запускаете.

Общее правило: нормализуйте ввод, потом валидируйте, потом делайте запрос. Именно в таком порядке. Большинство «ошибок Sheba» на самом деле являются ошибками нормализации, а не ошибками клиента.

Можно ли преобразовать номер счета в Sheba?

Наполовину. У каждого банка свое правило построения 19 цифр из номера счета, и эти правила не являются официальными и стабильными. Онлайн-конвертеры обычно работают на основе обратной инженерии и для некоторых типов счетов дают ошибку.

Практическая рекомендация: берите Sheba у самого клиента (он доступен в банковском приложении и в карточных переводах), а затем делайте запрос. Строить Sheba по формуле и отправлять по нему деньги — риск, который того не стоит.

Здесь нет места ручной работе

Проверка Sheba должна выполняться тихо и в правильном месте, а не так, чтобы оператор открывал другую вкладку и копировал-вставлял.

В Nexto, когда в форме банковского перевода вы выходите из поля Sheba, в этот же момент выполняется локальная валидация, и если номер корректный, уходит запрос, а имя владельца счета и банк заполняются автоматически — с зеленой или красной подсказкой. Оператор ничего не делает, кроме как смотрит. А поскольку результат кэшируется, повторный запрос того же Sheba тем же обменным пунктом не стоит денег.

Практический итог: контроль, который выполняется автоматически, выполняется всегда. Контроль, который делается вручную, пропускается ровно в самый загруженный день — в день, когда он важнее всего.

Кратко

У Sheba три слоя, и нужны все три: нормализация (лишние символы и нелатинские цифры), валидация (MOD-97, бесплатно и офлайн) и запрос (существование и владелец счета, единственный способ понять, куда уйдут деньги).

Первые два вы можете добавить в свою систему уже сегодня и без каких-либо затрат. Третий стоит немного, а взамен снижает возвраты, дорогие ошибки и вопросы комплаенса без ответа.

Для мгновенной проверки владельца Sheba используйте инструмент проверки Sheba.

Посмотрите всё это в Nexto

Полноценный приватный экземпляр с демо-данными — без установки, без банковской карты.

Создать бесплатное демо Связанные функции ←
Написать в WhatsApp