Спасибо за ответ.
Сессию я эмулирую. Проснифил работу купа и монетника. Они не возвращают нужной информации, в частности, о том, какая кнопка нажата, какой напиток выбран. Давайте я объясню чуть подробней. Буду использовать мнемоники команд из описания протокола MDB 4.2. Адрес эмулятора 0x10 (cashless device). Что сейчас делает мой эмулятор:
VMC дает RESET, я отвечаю ACK
VMC - POLL, я отвечаю JUST RESET
VMC - SETUP CONFIG, я отвечаю CONFIG, в котором в крайнем байте (misc options) бит b3 (enable cash sale) установлен. VMC дает ACK
VMC - SETUP PRICES, я отвечаю ACK
VMC - EXPANSION/REQ ID, я отвечаю ID, VMC ACK
VMC - READER ENABLE, я ACK.
VMC начинает поллинг.
В документации сказано следующее про команду VEND/CASH SALE:
Note: This command is issued for cash auditing applications and is sent to the payment media
reader if the SETUP/CONFIGURATION bit (b3) is enabled anytime a valid cash transaction is
completed via a coin mechanism or bill validator.
Так вот. Когда valid cash transaction завершается, т.е. мы засунули в монетник/куп деньги, нажали напиток, получили напиток, VMC включило платежные устройства снова, никакой команды VEND/CASH SALE я от него не получаю.