Skip to main content

Протокол взаимодействия терминального ПО и хоста Банка

Назначение

Настоящий документ представляет собой описание протокола взаимодействия терминального ПО (POS-терминалов) с эквайринговым хостом Банка согласно ISO 8583. Данный протокол совместим с протоколом SMARTVISTA версии 1.83A.

Описание протокола

Сообщение ISO 8583 состоит из следующих частей:

MTIBIT MAPDATA ELEMENTS
4 bytes8-16 bytes binaryVariable
  • MTI (Message Transaction ID) – это уникальный идентификатор, используемый для отслеживания транзакций сообщений при передаче данных по протоколу TCP/IP.
  • BIT MAP - Битовая маска. Битовая маска определяет набор полей, которые должны присутствовать или отсутствовать в сообщении.
  • DATA ELEMENTS – тело сообщения. Тело сообщения представляет собой блок данных, составленный путем конкатенации полей сообщения, заданных битовой маской.

Поддерживаемые типы сообщений MTI Message Type Indicator (MTI) — 4-значное числовое поле, которое определяет высокоуровневую функцию сообщения. Индикатор типа сообщения включает в себя версию стандарта ISO 8583, класс сообщения, функцию сообщения и источник сообщения, описанные ниже:

  • 0xxx -> версия стандарта ISO 8583
  • x1xx -> класс сообщения
  • xx1x -> функция сообщения
  • xxx0 -> кто начал взаимодействие Первая позиция MTI определяет версию стандарта ISO 8583, используемую для передачи сообщения. Текущая реализация протокола взаимодействия поддерживает оригинальную версию стандарта ISO 8583 от 1987 года. Вторая позиция MTI определяет общую цель сообщения:
  • (1) Authorization Message - Проверяет доступность средств, получает одобрение, но проведение по счёту не производится.
  • (2) Financial Message - Проверяет доступность средств, получает одобрение, производится проводка по счёту.
  • (4) Reversal Message - Отменяет действие предыдущей авторизации.
  • (5) Reconciliation Message - Используется для сверки итогов.
  • (6) Administrative Message - Используется для передачи сообщений об ошибках.
  • (8) Используется посылки эхо-тестов и для других функций сети. Третья позиция Индикатора сообщения (MTI) определяет функцию сообщения и способ его обработки в системе. Перечень поддерживаемых сообщений приведен в таблице ниже.
  • MTIОписание
    0200Financial Transaction Request
    0210Financial Transaction Response
    0400Reversal Request
    0410Reversal Response
    0520Reconciliation Request
    0520Reconciliation Response

Заполнение сообщений

Обозначения форматат полей

ОбозначениеОписание
aСимволы латинского алфавита A–Z и a–z
nЧисловые символы 0–9
asСимволы латинского алфавита A–Z, a–z и специальные символы*, включая пробел
nsЧисловые символы 0-9 и специальные символы*, включая пробел
anАлфавитные и цифровые символы
ansАлфавитные, цифровые и специальные символы*, включая пробел
anpАлфавитные, цифровые и символ пробела
bДвоичные данные байтами по 8 бит. Например, "b4" обозначает двоичное поле с фиксированной длиной 4 байт
NДескриптор длины поля фиксированной длины. Например, "a8" — символьное поле длиной 8 байт
LL2-х байтный дескриптор поля переменной длины (макс. 99 байт)
LLL3-х байтный дескриптор поля переменной длины (макс. 999 байт)
VARПоле данных переменной длины
zTracks 2 в соответствии со стандартом ISO4909 и ISO7813
Bit-Map8 байт (64 бит) в бинарном формате. Каждый бит означает наличие (1) или отсутствие (0) элемента данных
..19Переменная длина до 19 символов

Field 1: Secondary Bit-Map

Формат Bit-Map

Описание Данное поле представляет собой битовую карту, указывающую на наличие или отсутствие полей во вторичной части сообщения, а именно биты 65-128. Это поле должно присутствовать только в том случае, если в сообщении есть хотя бы одно поле из вторичного диапазона.

Field 2: Primary Account Number (PAN)

Формат n.. 19

Описание Содержит уникальный числовой идентификатор платежной карты, который содержит информацию об эмитенте карты и счете.

Field 3: Processing Code

Формат n 6

Описание Первые два байта содержат идентификатор типа транзакции. Остальные байты всегда «0000». В таблице ниже представлен перечень допустимых значений.

Processing Code (bytes 1 and 2)Описание
00Purchase
13Purchase with EC
20Refund
23Refund with EC
99Network Management

Field 4: Amount, Transaction

Формат n 12

Описание Сумма операции, выраженная в валюте операции, которая указана в поле 049. Для операций в рублях (поле 049 = 643) сумма должна быть представлена в минимальных единицах, т.е. в копейках.

Field 7: Transmission Date and Time

Формат n 10

Описание В поле 007 указываются дата и время инициирования сообщения. Содержание поля 007 должно быть представлено в формате: "MMDDhhmmss", где:

  • MM – месяц (01-12),

  • DD – день (01-31),

  • hh – часы (00-23),

  • mm – минуты (00- 59),

  • ss – секунды (00-59).

    Значение времени должно быть указано в часовой зоне GMT (Greenwich Mean Time).

Field 11: System Trace Audit Number (STAN)

Формат n 6

Описание Содержит номер, который присваивается инициатором операции. Необходимо поддерживать уникальные значения STAN для операций, инициируемых терминалом в течение 24 часов. Поле 011 не должно отсутствовать и не должно быть заполнено только нулями или пробела

Field 12: Time, Local Transaction

Формат n 12

Описание Локальное время в месте совершения операции. Время должно быть сформировано терминалом в момент начала операции и представлено в поле в формате «YYMMDDhhmmss», где:

  • YY – год,
  • MM – месяц (01-12),
  • DD – день (01-31),
  • hh – часы,
  • mm – минуты,
  • ss – секунды.

Field 15: Date, Settlement

Формат n 6

Описание Дата расчетов в формате «YYMMDD», где:

  • YY – год,
  • MM – месяц (01-12),
  • DD – день (01-31).

Field 22: Point of Service Entry Mode

Формат n 3

Описание Ряд кодов, предназначенных для идентификации возможностей терминала, среды терминала и данных безопасности представления. Он должен использоваться для указания конкретных условий, которые присутствуют (или присутствовали) во время совершения транзакции

Позиция 1-2: Тип ввода PAN карты

КодОписание
00Unknown (Способ ввода PAN неизвестен)
01Manual (key entry) (Ручной способ ввода PAN)
02Magnetic stripe read (PAN считан с магнитной полосы)
05Integrated circuit card read; card data reliable (PAN с чипа через контактный интерфейс)
06Track 1 Read
07Contactless using chip rules (PAN с чипа через бесконтактный интерфейс)
71Card present, magnetic stripe cannot be read (key-entered)
91Contactless using magnetic stripe data rules (PAN магнитной полосы через бесконтактный интерфейс)

Позиция 3: Признак аутентификации

КодОписание
0Unknown (Неизвестно / не определено)
1PIN
2Signature (Подпись)
6Используется для ручного ввода данных карты

Field 24: Function Code

Формат n 3

Описание Цель сообщения, возможные значения:

  • 200 - Original financial request
  • 400 - Reversal, transaction did not complete as approved
  • 504 - Request for reconciliation totals

Field 25: Service Condition Code

Формат n 2

Описание Содержит код, определяющий условия сделки в торговой точке или точке обслуживания. Возможные значения:

  • 00 – attendant terminal
  • 01 - cardholder not present
  • 02 – unattendant terminal
  • 08 - biometric identification

Field 35: Track 2 Data

Формат Llvar z.. 37

Описание Содержит закодированную информацию второй дорожки магнитной карты. Передается также на операциях, проведенных по чипу

Field 37: Retrieval Reference Number

Формат anp 12

Описание Поле 037 содержит уникальный идентификатор банковской транзакции, который назначается при инициализации платежа.

Field 38: Approval Code

Формат anp 6

Описание Поле 038 содержит код авторизации, который присваивается Эмитентом в случае одобрения операции.

Field 39: Response Code

Формат n 3

Описание Содержит код, который определяет ответ на запрос.

КодОписание
000ОДОБРЕНО
002ОТКЛОНЕНО
003ОДОБРЕНО
005Ошибка MAC
100НЕ ОБСЛУЖИВАЕТСЯ
101КАРТА ПРОСРОЧЕНА
102ПОДОЗРЕНИЕ НА МОШЕННИЧЕСТВО
103СВЯЖИТЕСЬ С БАНКОМ
104НА КАРТУ УСТАНОВЛЕНЫ ОГРАНИЧЕНИЯ
106ПРЕВЫШЕНО КОЛИЧЕСТВО ПОПЫТОК НЕПРАВИЛЬНОГО ВВОДА ПИНА
107НЕОБХОДИМО СВЯЗАТЬСЯ С ЭМИТЕНТОМ
108ОБРАТИТЕСЬ В БАНК ДЛЯ АВТОРИЗАЦИИ
109НЕИЗВЕСТНАЯ ТОЧКА ОБСЛУЖИВАНИЯ
110НЕКОРРЕКТНАЯ СУММА ОПЕРАЦИИ
111НЕИЗВЕСТНАЯ КАРТА
113НЕПРИЕМЛЕМАЯ КОМИССИЯ
114НЕКОРРЕКТНЫЙ СЧЕТ ДЕРЖАТЕЛЯ КАРТЫ
116ПРЕВЫШЕНА ДОПУСТИМАЯ СУММА ПО КАРТЕ
117НЕВЕРНЫЙ ПИН
119ОПЕРАЦИЯ ЗАПРЕЩЕНА ДЛЯ ДЕРЖАТЕЛЯ КАРТЫ
120ОПЕРАЦИЯ ЗАПРЕЩЕНА ДЛЯ ТЕРМИНАЛА
121ПРЕВЫШЕНИЕ ЛИМИТА АКТИВНОСТИ (СУММА)
122НАРУШЕНИЕ БЕЗОПАСНОСТИ
123ПРЕВЫШЕНИЕ ЛИМИТА АКТИВНОСТИ (ЧИСЛО ТРАНЗАКЦИЙ)
124НАРУШЕНИЕ ЗАКОНА
125КАРТА НЕДЕЙСТВИТЕЛЬНА
197ТАЙМАУТ ОЖИДАНИЯ ОТВЕТНОГО СООБЩЕНИЯ
200ИЗЪЯТЬ: НЕ ОБСЛУЖИВАЕТСЯ
207ИЗЪЯТЬ: ОСОБЫЕ УСЛОВИЯ
208ИЗЪЯТЬ: УТЕРЯНА
209ИЗЪЯТЬ: УКРАДЕНА
285ИЗЪЯТЬ
300УСПЕШНО
302НЕВОЗМОЖНО НАЙТИ ЗАПИСЬ
308ДУБЛИРОВАНИЕ, ОПЕРАЦИЯ ОТКЛОНЕНА
485НЕ НАЙДЕНА ОРИГИНАЛЬНАЯ ОПЕРАЦИЯ
486НЕСОВПАДЕНИЕ С ОРИГИНАЛЬНОЙ ОПЕРАЦИЕЙ
487НИКАКИХ ДЕЙСТВИЙ ПО ОТМЕНЯЕМОМУ СООБЩЕНИЮ НЕ ПРОВОДИЛОСЬ
804НЕВЕРНАЯ РЕГИСТРАЦИЯ ТЕРМИНАЛА
902НЕКОРРЕКТНАЯ ТРАНЗАКЦИЯ
903ПОВТОРИТЕ ТРАНЗАКЦИЮ
904НЕВЕРНЫЙ ФОРМАТ СООБЩЕНИЯ
906ВЫПОЛНЯЕТСЯ ПРОЦЕСС CUTOVER
907ЭМИТЕНТ КАРТЫ ИЛИ SWITCH НЕФУНКЦИОНАЛЕН
908АДРЕСАТ СООБЩЕНИЯ НЕИЗВЕСТЕН
909СБОЙ СИСТЕМЫ. ОПЕРАЦИЯ НЕ ВЫПОЛНЕНА
911ТАЙМАУТ ЭМИТЕНТА КАРТЫ
912ЭМИТЕНТ КАРТЫ НЕДОСТУПЕН
914ОРИГИНАЛЬНАЯ ТРАНЗАКЦИЯ НЕ НАЙДЕНА
921ПРОГРАММНАЯ ИЛИ АППАРАТНАЯ ОШИБКА
923ЗАПРОС ОБРАБАТЫВАЕТСЯ
940СИСТЕМНАЯ ОШИБКА
950ПЛАТЕЖ ЗАПРЕЩЕН. ОБРАТИТЕСЬ В БАНК-ЭМИТЕНТ

Field 41: Card Acceptor Terminal Identification

Формат n 8

Описание Идентификатор устройства в точке обслуживания, с использованием которого выполняется операция по карте. Поле предназначено для однозначного определения устройства. Соответствует POSID.

Field 42: Card Acceptor Identification Code

Формат ans 15

Описание Идентификатор торговой точки, соответствует MID.

Field 48: Additional Data

Формат lllvar ans 999, формат тегов: 3 байта для обозначения тега + 3 байта для обозначения длины тега + содержание тега.

Описание Это поле используется для отправки дополнительной информации с терминала в запросах и на терминал в ответах. Информация отправляется в различных тегах. Теги, которые поддерживаются в настоящее время, приведены в таблице ниже.

ТегНазначение
001UUID платежной сессии
031Поддерживаемый формат ключа на терминале. Возможные значения: «VARIANT», «KEYBLOCK»
076Basket ID. Используется только для операций с использованием ЭС
081Идентификатор процесса определения данных карты Контакта (extId). Используется только для операций с использованием лицевой биометрии
090Наименование ЮЛ (рус.). Только в ответе
091Адрес торговой точки. Только в ответе Список RRN для сверки (softPos). Только в запросе
093Наименование ЮЛ (англ.). Только в ответе
096Имя держателя карты
097BВнешний IP-адрес softpos-устройства (softPos)
097CПлатежный JWT-токен (softPos)
098Поддерживаемый формат PIN блока на терминале. Возможные значения: «2DES», «AES»
169ext-request-id оригинальной операции
170tid терминала транзакции

Field 49: Currency Code, Transaction

Формат n 3

Описание Поле содержит трехзначный цифровой код валюты операции согласно стандарту ISO-4217. В указанной валюте выражены суммы, приводимые в поле 004.

Field 52: PIN Block

Формат b 8

Описание Используется для идентификации держателя карты в точке обслуживания. Для устройств с подключенным пин-падом это поле должно содержать информацию о PIN-коде.

Формат llvar b .. 16

Описание Содержит рабочие (TPK,TAK) или мастер (TMK) ключ.

Field 54: Additional Amounts

Формат an.. 120

Описание Используется для указания суммы ЭС. Заполнение обязательно для операций с использованием ЭС.

ПозицииОписаниеДопустимые значенияПример
1-2Тип счета00 Default 10 Saving 20 Cheque 30 Credit00
3-4Тип баланса01 Ledger 02 Available 03 Electronic Certificate amount03
5-7Код валюты (ISO 4217)3-значный код валюты (например: 643 — RUB)643
8Знак суммыD (дебет) C (кредит)D
9-20Сумма (n12)12-значное числовое поле (дополняется нулями слева)00000000034

Field 55: EMV Data

Формат LLLVAR b ... 255

Описание Поле содержит блок данных, передаваемый в случае выполнения операции с использованием микропроцессорной (чиповой) карты. Блок данных включает в себя последовательность элементов, представленных в формате BER-TLV (Basic Encoding Rules - Tag Length Value) согласно стандарту ISO/IEC 8825. Необходимо учитывать специфику EMV в зависимости от платежной системы (см. Приложение). В таблице ниже приведен перечень элементов, которые могут быть включены в поле 055.

ТегНазваниеОписание
4FApplication Identifier (AID)Идентификатор приложения
57Track 2 Equivalent DataЭквивалентные данные дорожки 2
5F24Application Expiration DateСрок действия приложения
5F2ATransaction Currency CodeКод валюты транзакции
5F34Application PAN sequence numberПорядковый номер основного номера счета приложения
82Application Interchange ProfileПрофиль взаимодействия приложения
95Terminal Verification Result (TVR)Результат проверки терминала
9ATransaction DateДата транзакции
9BTransaction Status InformationИнформация о статусе транзакции
9CTransaction TypeТип транзакции
9F02Amount, AuthorizedАвторизованная сумма
9F03Amount, OtherДополнительная сумма
9F08Application Version NumberВерсия приложения
9F09Terminal Application Version NumberВерсия приложения терминала
9F10Issuer Application Data (IAD)Данные приложения эмитента
9F1ATerminal Country CodeКод страны терминала
9F26Application Cryptogram (AC)Криптограмма приложения
9F27Cryptogram Information DataИнформационные данные криптограммы
9F34Cardholder Verification Method (CVM) ResultsРезультаты проверки держателя карты
9F36Application Transaction Counter (ATC)Счетчик транзакций приложения
9F37Unpredictable NumberНепредсказуемое число
84Dedicated File NameИмя выделенного файла
9F1EInterface Device Serial NumberСерийный номер интерфейсного устройства
9F33Terminal CapabilitiesВозможности терминала
9F35Terminal TypeТип терминала
9F40Additional Terminal CapabilitiesДополнительные возможности терминала
9F4EMerchant Name and LocationНазвание и местоположение мерчанта
9F41Transaction Sequence NumberПорядковый номер транзакции
9F4CICC Dynamic NumberДинамический номер ICC
9F53Transaction Category CodeКод категории транзакции
9F63Application Transaction CounterСчетчик транзакций приложения
9F66Terminal Transaction QualifiersКвалификаторы транзакции терминала
9F6EForm Factor IndicatorИндикатор форм-фактора
DF31Issuer Script ResultsРезультаты скрипта эмитента

Field 61: AES PIN Block

Формат lllvar ans 999

Описание Это поле используется для передачи PIN Block под алгоритмом шифрования AES

Field 63: PrivateData

Формат lllvar ans 999, формат тегов: 3 байта для обозначения тега + 3 байта для обозначения длины тега + содержание тега.

Описание Это поле используется для отправки дополнительной информации в соответствующих тегах в ответах на терминал. Тег, который поддерживается в настоящее время, приведен в таблице ниже

ТегСодержание тега
097Кей-блок ключ
• Длина: 2DES или AES (для softPos)
• Алгоритм шифрования: 3DES или AES (для softPos)
• Формат: TR-31
- Key Version ID: B или D (только для AES алгоритма в softPos)

Field 64: MAC

Формат ans …999

Описание Содержит MAC (Message Authentication Code) подпись в соответствии с ISO 9797-1. Вычисляется от вычисленного хеша от всего сообщения, не включая длину сообщения. В случае если MAC не верный в ответе в поле 039 будет код ответа 005.

Приложение

Обязательность заполнения тегов 55-ого поля в разрезе ПС

TAGНазваниеОписаниеМИРUnionPayMasterCardVISA
5F2ATransaction Currency CodeКод валюты транзакции (ISO 4217)ДаДаДаДа
5F34Application PAN Sequence NumberПорядковый номер основного номера счетаДа*Да*Да*Да*
82Application Interchange ProfileВозможности картыДаДаДаДа
84Dedicated File (DF) NameИмя выделенного файла (ISO/IEC 7816-4)ДаОпциональныйДаОпциональный
95Terminal Verification ResultsРезультаты проверки терминалаДаДаДаДа
9ATransaction DateДата транзакцииДаДаДаДа
9CTransaction TypeТип транзакции (первые 2 цифры кода ISO 8583:1987)ДаДаДаДа
9F02Amount AuthorizedАвторизованная сумма (без корректировок)ДаДаДаДа
9F03Amount, Other (Numeric)Дополнительная сумма (например, кэшбэк)ДаДаДаУсловно обязательный.При операции с кэшбэком
9F10Issuer Application DataДанные приложения эмитентаДаДаДаДа
9F1ATerminal Country CodeКод страны терминала (ISO 3166)ДаДаДаДа
9F1EIFD Serial NumberСерийный номер интерфейсного устройстваНетУсловно обязательный.Если идентификатор не был передан в других полях авторизационного запросаНетНет
9F26Application CryptogramКриптограмма приложенияДаДаДаДа
9F27Cryptogram Information DataТип криптограммы и действия терминалаДаДаДаДа
9F33Terminal CapabilitiesВозможности терминалаНетДаНетДа
9F34CVM ResultsРезультаты проверки держателя картыДаОпциональныйДаОпциональный
9F36Application Transaction Counter (ATC)Счетчик транзакций приложенияДаДаДаДа
9F37Unpredictable NumberНепредсказуемое числоДаДаДаДа
DF31Issuer Script ResultsСкрипт эмитента (только UPI)НетУсловно обязательный.При отмене обязателен.НетНет
9F63Card Product Identification InformationИдентификация продукта карты (только UPI)НетУсловно обязательный.Если при чтении чипа этот тег вернулся картой.НетНет
9F6EThird Party DataДанные третьих сторон (тип устройства и др.)НетНетНетУсловно обязательный.Этот тег обязательно должен быть отправлен при операции по бесконтакту.

Условные обозначения:

  • Да* — обязателен, если карта передала данные

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.