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

Описание Содержит код, который определяет ответ на запрос. На терминал уходит только Code ответа. В столбце Log Message указан текст в логах системы Т-Банка.

Таблица кодов
CodeLog Message
000APPROVED
001CONTACT ISSUING BANK
002REJECTED
003APPROVED
005SYSTEM ERROR
005Error while generate mac response
020APPROVED
095RECONCILIATION MISMATCH
095Need reconcile for device
100NOT SERVICED
101CARD EXPIRED
102SUSPICION OF FRAUD
103CONTACT BANK
103EC Invalid status
104CARD HAS RESTRICTIONS
104Invalid extId
104Invalid extOperationID
105CONTACT BANK
105extId does not match the extId of the original payment
106EXCEEDED MAXIMUM NUMBER OF INCORRECT PIN ATTEMPTS
107PLEASE CONTACT THE ISSUER
108CONTACT BANK FOR AUTHORIZATION
109UNKNOWN SERVICE POINT
109Terminal blocked
110INVALID TRANSACTION AMOUNT
110Amount of the cancel exceeds the balance of the operation
110Amount of the cancel exceeds the transaction
111UNKNOWN CARD
111Card number for cancel does not match original transaction card number
112PIN IS MISSING IN REQUEST
113UNACCEPTABLE COMMISSION
114INVALID CARDHOLDER ACCOUNT NUMBER
115REQUESTED TRANSACTION TYPE NOT SUPPORTED
116TRANSACTION AMOUNT EXCEEDS CARD LIMIT
117INVALID PIN
118TRACK2 DATA IS MISSING IN REQUEST
119TRANSACTION PROHIBITED FOR CARDHOLDER
120TRANSACTION PROHIBITED FOR TERMINAL
120PayService.execution forbidden
120Final authorization amount error
121ACTIVITY LIMIT EXCEEDED (AMOUNT)
122SECURITY VIOLATION
123ACTIVITY LIMIT EXCEEDED (NUMBER OF TRANSACTIONS)
123Transaction limit exceeded
124LAW VIOLATION
125INVALID CARD
126PIN KEYS DO NOT MATCH
127INVALID PIN LENGTH
128PIN KEYS NOT ACTIVATED
129SUSPICION THAT THE CARD IS COUNTERFEIT
130PayService.execution forbidden, token or parameters invalid
180CASH WITHDRAWAL WITH THIS CARD IS PROHIBITED
181CURRENCY CONVERSION FOR CASH WITHDRAWAL IS PROHIBITED
182CARD PAYMENT IS PROHIBITED
183CURRENCY CONVERSION FOR CARD PAYMENT IS PROHIBITED
184ELECTRONIC AUTHORIZATION WITH THIS CARD IS PROHIBITED
185MANUAL AUTHORIZATION WITH THIS CARD IS PROHIBITED
186INVALID CARD USAGE AREA
187ISSUER IS BLOCKED
188ISSUER ACTIVITY LIMIT EXCEEDED
189ACQUIRER IS BLOCKED
190CARD TEMPORARILY BLOCKED
191INVALID CARD TYPE SELECTED
196CARD IS BLOCKED
197RESPONSE TIMEOUT
197Timeout after the operation time expires
198SYSTEM ERROR
199SYSTEM FAILURE
200RETAIN: NOT SERVICED
201RETAIN: EXPIRED
202RETAIN: COUNTERFEIT
203RETAIN: CONTACT ACQUIRER
204RETAIN: RESTRICTIONS
205RETAIN: CONTACT ACQUIRER SECURITY
206RETAIN: PIN ENTRY ATTEMPTS EXCEEDED
207RETAIN: SPECIAL CONDITIONS
208RETAIN: LOST
209RETAIN: STOLEN
210RETAIN: COUNTERFEIT
285RETAIN
300SUCCESSFUL
302RECORD NOT FOUND
306FAILED
306The terminal of the original operation is unlinked
308DUPLICATE, TRANSACTION DECLINED
308Multiple original operations found for the current search criteria
380SYSTEM ERROR
381NO CONTROLLED PARTICIPANT FOUND
383PARTICIPANT LIMIT NOT FOUND
384NO PARTICIPANT FOUND FOR THE GIVEN ACCOUNT
385BASE CARD PAYMENT LIMIT NOT FOUND
386CARD PAYMENT LIMIT NOT FOUND
387A8, A9 MESSAGE TYPE IS MULTICURRENCY
388INVALID DATE OF THE LAST TRANSACTION FILE
389INVALID STATUS OF THE RECEIVED LIMIT
390INVALID VALUE OF THE GLOBAL LIMIT FLAG
485ORIGINAL TRANSACTION NOT FOUND
486DOES NOT MATCH ORIGINAL TRANSACTION
487NO ACTION WAS TAKEN ON THE CANCELED MESSAGE
487No action was taken on the canceled message
490CANCELLATION PROHIBITED (REASON NOT SPECIFIED)
490The cancellation operation with manual card entry is prohibited for regular purchases
800NO CONNECTION TO SERVICE PROVIDER
801TIMEOUT. TRANSACTION NOT COMPLETED
802PHONE NUMBER NOT FOUND
803PAYMENT PROHIBITED BY HOME OPERATOR
803PAYMENT PROHIBITED. PLEASE CONTACT YOUR ISSUING BANK
803Payment prohibited. Please, contact with bank-issuer
804INVALID TERMINAL REGISTRATION
805Card bin is blocked, contact the issuing bank
806PAYMENT PROHIBITED FOR TECHNICAL REASONS
806Payment prohibited by technical reasons
902INVALID TRANSACTION
902extRequestId in field 48 should be empty for pre-authorization
903PLEASE REPEAT TRANSACTION
904INVALID MESSAGE FORMAT
904Invalid message format
905ACQUIRER NOT SUPPORTED BY SWITCH
906CUTOVER PROCESS IN PROGRESS
907ISSUER OR SWITCH SYSTEM IS UNAVAILABLE
908MESSAGE RECIPIENT UNKNOWN
909SYSTEM FAILURE. TRANSACTION NOT COMPLETED
909Update message of addition date failed
909Operation canceled
910ISSUER IS IN SIGNED OFF STATE
911ISSUER TIMEOUT
912ISSUER UNAVAILABLE
913DUPLICATE, TRANSACTION DECLINED
914ORIGINAL TRANSACTION NOT FOUND
914Missing previous operation
915ERROR DURING CUTOVER PROCESS
916INVALID MAC
917INVALID MAC KEY
918COMMUNICATION KEYS MISSING
918CRYPTOGRAPHIC KEY ERROR
920SOFTWARE OR HARDWARE ERROR
921SOFTWARE OR HARDWARE ERROR
922MESSAGE NUMBER OUT OF SEQUENCE
923REQUEST IS BEING PROCESSED
927FINGERPRINTS DO NOT MATCH
940SYSTEM ERROR
949AUTHORIZATION DENIED - CO-BRAND CARD

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 платежной сессии
002Уникальный Межбанковский Идентификатор Транзакции (УМИТ). Генерируется платежным центром. Это UUID+доп.данные с применением шифрования HMAC
003Платежная система операции. Прим.: MIR, VISA, MASTERCARD, UNION_PAY
004тэг зарезервирован. Не используется
031Поддерживаемый формат ключа на терминале: «VARIANT», «KEYBLOCK»
076Basket ID. Используется только для операций с использованием ЭС
081Идентификатор процесса определения данных карты Контакта (extId). Используется только для операций с использованием лицевой биометрии
090Наименование ЮЛ (рус.). Только в ответе
091Адрес торговой точки.
093Наименование ЮЛ (англ.). Только в ответе
096Имя держателя карты
097BВнешний IP-адрес softpos-устройства (softPos)
097CПлатежный JWT-токен (softPos)
098Поддерживаемый формат PIN блока на терминале: «2DES», «AES»
169ext-request-id оригинальной операции
170tid терминала транзакции
175stan оригинальной транзакции (для отмены без карты)
176Дата-время оригинальной транзакции (для отмены без карты)

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. На поле действует регулярное выражение \"^[0-9A-F]+$\

ТегНазваниеОписание
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», измените настройки браузера.