ISO 8583 — это международный стандарт обмена сообщениями, исходящими от карт финансовых транзакций . Это стандарт Международной организации по стандартизации для систем, которые обмениваются электронными транзакциями, инициируемыми держателями карт с использованием платежных карт .
ISO 8583 определяет формат сообщения и поток связи, чтобы разные системы могли обмениваться запросами и ответами на транзакции. Подавляющее большинство транзакций, совершаемых, когда покупатель использует карту для оплаты в магазине ( EFTPOS ), используют ISO 8583 в какой-то момент коммуникационной цепочки, как и транзакции, совершаемые в банкоматах. В частности, сети Mastercard , Visa и Verve основывают свои авторизационные коммуникации на стандарте ISO 8583, как и многие другие учреждения и сети.
Хотя ISO 8583 определяет общий стандарт, он обычно не используется непосредственно системами или сетями. Он определяет множество стандартных полей (элементов данных), которые остаются одинаковыми во всех системах или сетях, и оставляет несколько дополнительных полей для передачи деталей, специфичных для сети. Эти поля используются каждой сетью для адаптации стандарта для собственного использования с помощью настраиваемых полей и настраиваемых вариантов использования, таких как карты близости.
Спецификация ISO 8583 состоит из трех частей:
Транзакция с использованием карты обычно проходит от устройства приема транзакций, такого как торговый терминал (POS) или банкомат (АТМ), через ряд сетей к системе выпуска карт для авторизации против счет держателя карты. Данные транзакции содержат информацию, полученную от карты (например, номер карты или данные держателя карты), терминала (например, номер терминала, номер продавца), транзакции (например, сумму), а также другие данные, которые могут генерироваться динамически или добавляться промежуточными системами. На основании этой информации система выпуска карт либо авторизует, либо отклоняет транзакцию и генерирует ответное сообщение, которое должно быть доставлено обратно на терминал в течение заранее определенного периода времени.
Сообщение ISO 8583 состоит из следующих частей:
Расположение полей в разных версиях стандарта различается; например, элементы валюты версий стандарта 1987 и 1993 годов больше не используются в версии 2003 года, в которой валюта рассматривается как подэлемент любого элемента финансовой суммы. Однако по состоянию на июнь 2017 года стандарт ISO 8583:2003 еще не получил широкого признания. Сообщения ISO 8583 не содержат информации о маршрутизации, поэтому иногда используются с заголовком TPDU .
Транзакции, инициированные держателями карт, включают покупку, снятие средств, депозит, возврат средств, отмену, запрос баланса, платежи и переводы между счетами. ISO 8583 также определяет сообщения между системами для безопасного обмена ключами, сверки итогов и других административных целей.
Индикатор типа сообщения представляет собой четырехзначное числовое поле, которое указывает общую функцию сообщения. Индикатор типа сообщения включает версию ISO 8583, класс сообщения, функцию сообщения и источник сообщения, как описано ниже.
Первая цифра MTI указывает версию ISO 8583, в которой закодировано сообщение.
Вторая позиция MTI определяет общую цель сообщения.
Третья позиция MTI определяет функцию сообщений, которая определяет, как сообщение должно передаваться внутри системы. Запросы представляют собой сквозные сообщения (например, от эквайера к эмитенту и обратно с тайм-аутами и автоматическими аннулированиями), тогда как рекомендации представляют собой двухточечные сообщения (например, от терминала к эквайру, от эквайера к сети, от сети к эмитенту, при этом передача гарантируется по каждому каналу, но не обязательно немедленно).
Четвертая позиция MTI определяет местоположение источника сообщения в платежной цепочке.
Учитывая значение MTI 0110 , в следующем примере показано, что означает каждая позиция:
Следовательно, MTI 0110 представляет собой ответное сообщение авторизации, в котором фактическая транзакция была инициирована эквайером.
Принимая во внимание каждую из четырех вышеперечисленных позиций, MTI полностью определяет, что должно делать сообщение и как оно должно передаваться по сети. К сожалению, не все реализации ISO 8583 интерпретируют значение MTI одинаково. Однако некоторые MTI являются относительно стандартными:
В ISO 8583 битовая карта — это поле или подполе в сообщении, которое указывает, присутствуют ли другие элементы данных или подполя элементов данных где-либо в сообщении.
Поле считается присутствующим только тогда, когда установлен соответствующий бит в битовой карте. Например, шестнадцатеричное значение 0x82 (десятичное 130) является двоичным 1000 0010 , что означает, что поля 1 и 7 присутствуют в сообщении, а поля 2, 3, 4, 5, 6 и 8 — нет.
Битовая карта может быть представлена как 8 байтов двоичных данных или как 16 шестнадцатеричных символов (0–9, A–F) в наборах символов ASCII или EBCDIC . Сообщение будет содержать по крайней мере одно битовое изображение, называемое первичным битовым изображением , которое указывает данные о том, присутствуют ли элементы от 1 до 64. На наличие необязательного вторичного растрового изображения также указывает первый бит в первичном растровом изображении. Если присутствует, вторичная битовая карта указывает, присутствуют ли элементы данных с 65 по 128. Аналогичным образом, третичное битовое изображение может использоваться для указания наличия полей с 129 по 192, хотя эти элементы данных используются редко.
Учитывая значение растрового изображения 70 10 00 11 02 C0 48 04 ,
Таким образом, данное растровое изображение определяет следующие поля, присутствующие в сообщении:
2, 3, 4, 12, 28, 32, 39, 41, 42, 50, 53, 62 .
Элементы данных — это отдельные поля, содержащие информацию о транзакции. В исходном стандарте ISO 8583:1987 указано до 128 элементов данных, а в более поздних версиях — до 192 элементов данных. В редакцию 1993 года были добавлены новые определения, некоторые удалены, но сам формат сообщения остался неизменным.
Хотя каждый элемент данных имеет определенное значение и формат, стандарт также включает некоторые элементы данных общего назначения и элементы данных, специфичные для системы или страны, которые сильно различаются по использованию и форме от реализации к реализации.
Каждый элемент данных описывается в стандартном формате, который определяет разрешенное содержимое поля (числовое, двоичное и т. д.) и длину поля (переменную или фиксированную) в соответствии со следующей таблицей:
Кроме того, каждое поле может иметь фиксированную или переменную длину. Если переменная, длине поля будет предшествовать индикатор длины.
Ниже приведена таблица, в которой указан тип сообщения и код обработки для каждого типа транзакции.
В следующей таблице показаны коды ответов и их значения для ISO 8583-1987, в более поздних версиях используются 3- и 4-значные коды ответов.
В поле режима точки обслуживания (POS) указывается, при каких условиях была считана карта, какой тип аутентификации был выполнен и в зависимости от версии спецификации, каковы возможности терминала.
В спецификации 2003 года код POS состоит из 16 двоичных символов, разделенных на четыре части:
Для версии 1993 года [6] это 12-значное поле, состоящее из 5 частей:
Значение режима входа точки обслуживания состоит из двух частей:
В следующей таблице показаны режимы ввода PAN и их значения.
В следующей таблице показаны возможности ввода PIN-кода и их значения.
Простой и бесплатный редактор ISO8583.