Вы находитесь на странице: 1из 12

Раздел 7

Устройство (устройства) для безналичного расчета


Спецификации VMC/периферийной связи
7.1 Введение
В этом разделе определяются байты связи отправленные и полученные между,
безналичным устройством (устройствами) и контроллером торгового автомата (VMC).
Как определено в разделе 2.3, существует два адреса безналичных устройств:
Безналичный номер 1, 00010xxxB (10H) и безналичный номер 2, 11000xxxB (60H). Второй
адрес был присвоен для того, чтобы в торговом автомате могли одновременно находиться
две уникальные формы безналичных устройств. Примером может служить карточная
система в качестве безналичного устройства № 1 (10H) и система на базе мобильного
телефона в качестве безналичного устройства № 2 (60H). Все, что определено в этом
разделе будет общим для двух безналичных устройств – различаться будут только
адреса.
Если не указано иное, все денежные значения, используемые безналичными устройствами
и VMC, будут шестнадцатиразрядными (уровни 01 и 02) или тридцатидвухразрядными
(уровень 03, если включена 32-разрядная опция), беззнаковыми двоичными числами.
Числа будут отправлены первым старшим байтом и масштабированы с использованием
параметров, предоставленных в ответе КОНФИГУРАЦИИ СЧИТЫВАТЕЛЯ устройства
безналичного расчета.

7.2 Определения состояний


Безналичные устройства MDB могут рассматриваться как конечные автоматы. Эти
состояния следующие:
1) Неактивен
2) Отключен
3) Включен
4) Сеанс бездействует
5) Vend
6) Переоценка (безналичные устройства уровня 02/03)
7) Отрицательный Vend (безналичные устройства уровня 03)

7.2.1 Неактивен
Это состояние безналичного устройства при включении питания или после перезагрузки.
В неактивном состоянии безналичные устройства НЕ будут приниматься для торговых
целей. Безналичное устройство не может выйти из этого состояния до тех пор, пока вся
информация о настройке не будет получена от VMC.

7.2.2 Отключен
Безналичное устройство автоматически переходит в это состояние из неактивного
состояния, когда оно получило информацию о настройке, указанную в 7.4.1. Оно также
перейдет в отключенное состояние из включенного состояния, когда получит команду
ОТКЛЮЧЕНИЯ СЧИТЫВАТЕЛЯ. В отключенном состоянии платежные средства НЕ
будут приниматься для торговых целей. Безналичное устройство будет оставаться в этом
состоянии до тех пор, пока не будет получена команда ВКЛЮЧЕНИЯ СЧИТЫВАТЕЛЯ
(когда оно перейдет в включенное состояние) или не будет получен СБРОС (когда оно
перейдет в неактивное состояние). Для питания в целях управления потребление тока в
отключенном состоянии не будет превышать спецификации режима ожидания.

7.2.3 Включено
В этом состоянии безналичные устройства могут использоваться для транзакций MDB.
Безналичное устройство будет оставаться в этом состоянии до тех пор, пока не будет
считан действительный платежный носитель (когда оно перейдет в состояние ожидания
сеанса), получена команда ОТКЛЮЧЕНИЯ считывателя (когда оно вернется в
отключенное состояние) или получен СБРОС (когда оно перейдет в неактивное
состояние).
Когда устройству разрешено работать в состоянии “всегда в режиме ожидания”, запрос
vend будет непосредственно входить в сеанс vend, а отрицательный запрос vend будет
непосредственно входить в сеанс отрицательного запроса vend. Во время включенного
состояния “всегда в режиме ожидания” безналичное устройство может, однако, выполнять
обычные сеансы, начинающиеся с команды “НАЧАТЬ СЕАНС” – VMC должен принять
оба варианта и после обнаружения ответа ”НАЧАТЬ сеанс" должен "временно отключить"
весь сеанс как состояние "всегда в режиме ожидания".

7.2.4 Простоя сеанса


Во включенном состоянии, когда обработан действительный платежный носитель,
безналичное устройство выдаст ответ "НАЧАТЬ СЕАНС" на ОПРОС VMC и перейдет в
состояние ожидания сеанса. Это указывает на то, что безналичное устройство доступно
для торговых операций. Единственный структурированный выход из состояния ожидания
сеанса - через сообщение о завершении сеанса от VMC. Команда ЗАВЕРШЕНИЯ
СЕАНСА приведет к тому, что безналичное устройство ответит сообщением об
ОКОНЧАНИИ сеанса и соответствующим образом включит / отключит себя. Команды
Vend / Отрицательный Vend / Переоценка приведут к тому, что безналичное устройство
выйдет из состояния ожидания сеанса и перейдет в состояние Vend / Отрицательный Vend
/ переоценка при выборе и покупке продуктов.

7.2.5 Всегда простаивает


Когда устройство способно работать в состоянии “Всегда в режиме ожидания” (включено
с помощью необязательных функциональных битов команды РАСШИРЕНИЯ Enable
Options), запрос VEND из включенного состояния напрямую перейдет в состояние Vend.
Кроме того, когда устройство способно работать в состоянии “Всегда в режиме
ожидания”, ОТРИЦАТЕЛЬНЫЙ ЗАПРОС VEND напрямую перейдет в отрицательное
состояние запроса Vend.

7.2.5 Vend
Это состояние переходит из состояния ожидания сеанса при получении сообщения о
запросе VEND от VMC. Все состояние Vend представляет собой непрерываемую
последовательность команда / ответ. Безналичное устройство вернется в состояние
ожидания сеанса после завершения этой последовательности.

7.2.6 Переоценка (Устройства безналичного расчета уровня 02/03)


Это состояние переходит из состояния ожидания сеанса при получении сообщения с
запросом на ПОВТОРНУЮ ОЦЕНКУ от VMC. Все состояние повторной оценки
представляет собой непрерываемую последовательность команда / ответ. Безналичное
устройство вернется в состояние ожидания сеанса после завершения этой
последовательности.

7.2.7 Отрицательный запрос Vend


(Устройства безналичного расчета уровня 03)

Это состояние переходит из состояния ожидания сеанса при получении


ОТРИЦАТЕЛЬНОГО сообщения о запросе VEND от VMC. Все состояние отрицательного
запроса Vend представляет собой непрерываемую последовательность команд / ответов.
Безналичное устройство вернется в состояние ожидания сеанса по завершении этой
последовательности.
7.3 Командный протокол
После того, как VMC выдал команду, никакие новые команды не могут быть выданы до
тех пор, пока все данные, сгенерированные в ответ на эту команду, не будут получены от
безналичного устройства. Полным ответом может быть только подтверждение (например,
команда ВКЛЮЧЕНИЯ считывателя). В качестве альтернативы, он может состоять из
информационного ответа (например, ДАННЫХ КОНФИГУРАЦИИ СЧИТЫВАТЕЛЯ).
Безналичное устройство может предоставлять информационный ответ двумя способами.
Оно может ответить немедленно запрошенными данными, или безналичное устройство
может подтвердить команду VMC. Если подтвержден, VMC должен проводить опросы до
тех пор, пока устройство cashless не ответит запрошенными данными или пока не истечет
максимальное время отклика приложения (определенное в ответах конфигурации
СЧИТЫВАТЕЛЯ).
Безналичное устройство будет определять тип валюты в начале каждой сессии. Этот
тип валюты будет использоваться для всех последующих транзакций в этом сеансе.
Если VMC не поддерживает этот тип валюты, сеанс завершится.
Ниже приведены бесперебойные команды VMC, для которых требуется ответ
информационного безналичного устройства, и связанный с ними результат:

* Эти последовательности ответов на запрос VEND / NEGATIVE VEND / REVALUE


составляют состояния запроса Vend / Negative Vend / Revalue.

Ниже приведены устройства бесперебойного опроса безналичных средств, для которых


требуется информационный ответ от VMC:
Любая команда может быть выдана VMC в любое время при условии соблюдения
вышеуказанного командного протокола. Из этого правила есть четыре исключения:
1) ЗАПРОС VEND, ЗАПРОС НА ПЕРЕОЦЕНКУ и ОТРИЦАТЕЛЬНЫЙ ЗАПРОС VEND
последовательности ответов могут быть инициированы только в состоянии ожидания
сеанса. Другими словами, Безналичное устройство не допускает состояния “Всегда в
режиме ожидания”, если оно не включено с помощью установки соответствующего
разрешающего бита в команде enable options. Если эта опция включена, запрос VEND,
ОТРИЦАТЕЛЬНЫЙ ЗАПРОС VEND и ЗАПРОС НА ПЕРЕОЦЕНКУ разрешены также во
включенном состоянии.
2) VMC может выдать команду ОТМЕНЫ VEND после выдачи ЗАПРОСА VEND, но до
получения ответа, ОДОБРЕННОГО / ОТКЛОНЕННОГО VEND. В этом случае
безналичное устройство выдаст ответ "ОТКАЗАНО в ОТПРАВКЕ", чтобы удовлетворить
первоначальное требование об ответе на запрос VEND.
3) Безналичное устройство может отправлять запросы на отображение в ответ на опросы в
любое время, если дисплей VMC доступен для использования.
4) Команда СБРОСА разрешена в любое время, на нее не распространяется никаких
ограничений.
Если безналичное устройство получит команду VMC, когда оно находится в одном из
предыдущих состояний бесперебойного доступа, произойдет следующее:
Безналичное устройство подтвердит команду-нарушитель (ответа с данными не будет).
Безналичное устройство ответит на следующий опрос ответом “КОМАНДА НЕ
СООТВЕТСТВУЕТ ПОСЛЕДОВАТЕЛЬНОСТИ” (0BH).
Разработчикам безналичных устройств следует указать, что команда, нарушающая
последовательность, всегда приведет к тому, что VMC выдаст команду сброса
безналичному устройству.
7.3.1 Формат ответа на несколько сообщений
Формат ответа с несколькими сообщениями позволяет безналичному устройству
отправлять несколько сообщений в ответ на одну команду или ОПРОС. Поскольку все
сообщения имеют фиксированную длину, не возникает путаницы при определении того,
где заканчивается одно сообщение и начинается следующее. (Общая длина сообщения
регулируется ограничением в 36 байт, установленным разделом 2 настоящего стандарта.)
Например, если безналичному устройству не удается правильно записать платежный
носитель после VEND REQUEST, ему может потребоваться сообщить:
1) ОТКАЗАНО В ОТПРАВКЕ
2) Подкод НЕИСПРАВНОСТИ / ОШИБКИ 07h
3) ЗАПРОС НА ОТМЕНУ СЕАНСА
Ответ с несколькими сообщениями (шестнадцатеричный) будет выглядеть следующим
образом:

Первый байт выше (помеченный 1) - это сообщение об ОТКАЗЕ в отправке. Следующие


два байта (помеченные 2) - это сообщение О НЕИСПРАВНОСТИ / ОШИБКЕ. Третье и
последнее сообщение - это запрос на ОТМЕНУ СЕАНСА (помеченный 3). Восьмибитная
контрольная сумма с установленным битом режима (помечено 4) завершает сообщение.
Важно отметить, что контроллер должен обслуживать сообщения в том порядке, в
котором они получены. Это необходимо для обеспечения соблюдения командного
протокола.
7.3.2 Действия по возврату условного депонирования механизма монет
Если присутствует, кнопка возврата безналичного устройства управляется безналичным
устройством, и ответственность за прекращение последовательности обмена лежит на
безналичном устройстве, если кнопка возврата нажата во время последовательности
обмена.
Реакция VMC на возврат условного депонирования механизма монет будет варьироваться
в зависимости от состояния системы на момент нажатия кнопки. Если возврат условного
депонирования разрешен, то возврат условного депонирования с помощью механизма coin
следует интерпретировать как ОТМЕНУ VEND или ЗАВЕРШЕНИЕ СЕАНСА.
1) В включенном состоянии VMC должен отправить на устройство безналичного расчета
команду READER CANCEL. Это позволяет пользователю отменить предварительно
одобренный запрос на онлайн-авторизацию.
2) В состоянии ожидания сеанса VMC должен отправить на безналичное устройство
команду завершения сеанса. Это вернет безналичное устройство во включенное
состояние. Возврат условного депонирования может привести к тому, что система
перейдет в состояние переоценки до того, как VMC отправит команду “СЕАНС
ЗАВЕРШЕН”.
3) В состоянии Vend, до того, как безналичное устройство отправило одобренный VEND
или VEND ОТКЛОНЕН, VMC должен отправить команду VEND CANCEL на
безналичное устройство. Это отменит перевод средств и заставит безналичное устройство
при необходимости вернуть платежный носитель.
4) Во всех остальных случаях сообщение с VMC на безналичное устройство не
отправляется.
ТАБЛИЦА 1: КОМАНДЫ и ОТВЕТЫ
* Нет ответа на передачу данных = периферийное устройство просто отвечает ACK или
NAK
** Устаревшая команда – не использовать для новых проектов. Используйте
EXPANSION - Diagnostics.
Термин (вариант)указывает, что команда / ответ - это функция, включаемая битами опций.
ПРИМЕЧАНИЕ: Ответы безналичных устройств, которые являются частью
последовательностей запросов / ответов, перечислены более одного раза в приведенной
выше таблице, поскольку безналичное устройство может ответить либо немедленно на
запрос (в течение 5 миллисекунд), либо на более поздний опрос.
7.4 Форматы команд/ответов VMC / безналичных устройств
В следующем разделе термин “Считывающее устройство” будет обозначать либо
Безналичное устройство №1, либо №2.

7.4.1 Сброс и инициализация

Ответ читателя: Нет ответа на данные


Если эта команда принята устройством безналичного расчета, оно должно завершить
любую текущую транзакцию (при необходимости с соответствующей корректировкой
кредита), извлечь платежный носитель (если применимо) и перейти в неактивное
состояние.
Все виртуальные машины уровня 02 и выше должны следовать команде СБРОСА со
следующей последовательностью инициализации безналичных устройств: (Всем новым
виртуальным машинам уровня 01 рекомендуется следовать последовательности.)
Обратите внимание, что в примере показаны команды только для безналичного
устройства №1 (10H). Они были бы такими же для безналичного устройства № 2 (адрес
60H).

Для получения ответа “ПРОСТО сбросить”

Для отправки данных конфигурации VMC и получения данных устройства безналичного


расчета

Чтобы отправить максимальную и минимальную цены в VMC. Эти цены должны быть
отправлены как 16-разрядный кредит уровня 01/02.

Для получения дополнительной информации об устройстве безналичного расчета и опций


(только для опций уровня 03+)

Чтобы включить нужные опции

Если включена опция 32–разрядной валюты и / или мультивалютности – многоязычность


(т. е. биты 1 и 2 опций включения расширения), выполните НАСТРОЙКУ
МАКСИМАЛЬНОЙ / МИНИМАЛЬНОЙ ЦЕНЫ еще раз, чтобы получить 32-разрядный
кредит и / или пользовательскую валюту - пользовательский язык (в остальной части
документа эти условия будут известны как РАСШИРЕННЫЙ ВАЛЮТНЫЙ РЕЖИМ).

Для включения устройства безналичного расчета (при желании)

7.4.2 НАСТРОЙКА - данные конфигурации

Y1: Данные конфигурации. VMC отправляет данные своей конфигурации в reader.


Y2: Уровень функций VMC. Указывает уровень функций VMC. Доступными уровнями
функций являются:
01 - VMC не поддерживает или не будет выполнять расширенные функции как указано в
таблице 1: КОМАНДЫ И ОТВЕТЫ, следующие за разделом 7.3.2. Считыватель не будет
предоставлять расширенную информацию VMC, но может выполнять расширенные
функции внутренне (прозрачно для VMC). У читателя нет возможности переоценки.
02 - VMC способен и желает выполнять расширенные функции как указано в таблице 1:
КОМАНДЫ И ОТВЕТЫ, следующие за разделом 7.3.2. Считыватель предоставит
дополнительную информацию VMC (по возможности) и не будет выполнять
расширенные функции внутренне.
03 - VMC способен поддерживать уровень 02, но также поддерживает некоторые или все
из дополнительные функции, перечисленные в команде EXPANSION ID (например,
передача файлов, 32-разрядный кредит, мультивалютные / языковые функции,
отрицательный результат и / или ввод данных).
Y3: Столбцы на дисплее. Количество столбцов на дисплее. Установите значение 00H,
если дисплей недоступен для считывателя.
Y4: Строки на дисплее. Количество строк на дисплее
Y5: Отображать информацию – xxxxxyyy
xxxxx = Неиспользуемый
yyy = Тип отображения
000 : Цифры, заглавные буквы, пробел и десятичная точка.
001 : Полный ASCII
010-111: неназначенный
Ответ читателя:
Z1 : СЧИТЫВАТЕЛЬ - Данные конфигурации.
Указывает, что устройство чтения платежных носителей отвечает на запрос данных
НАСТРОЙКИ от VMC.
Z2 : Уровень функциональности считывателя.
Указывает уровень функциональности устройства чтения. В настоящее время уровнями
функциональности являются:
01 - Считыватель не способен или не будет выполнять расширенные функции как указано
в таблице 1: КОМАНДЫ И ОТВЕТЫ, следующие за разделом 7.3.2. Считыватель не будет
предоставлять расширенную информацию VMC, но может выполнять расширенные
функции внутренне (прозрачно для VMC). У читателя нет возможности переоценки.
02 - Программа чтения способна и желает выполнять расширенные функции как указано в
таблице 1: КОМАНДЫ И ОТВЕТЫ, следующие за разделом 7.3.2. Считыватель
предоставит дополнительную информацию VMC (по возможности) и не будет выполнять
расширенные функции внутренне.
03 - Считыватель способен поддерживать уровень 02, но также поддерживает некоторые
или все из дополнительных функций, перечисленных в команде EXPANSION ID
(например, передача файлов, 32-разрядный кредит, мультивалютные / языковые функции,
отрицательный vend и / или ввод данных).

Вам также может понравиться