Печать чеков Эквайринга (банковских чеков, слип) - banhanman/ab-wiki GitHub Wiki
Онлайн-кассы Производства Штрих работают только на протоколе Штрих. Никакие другие протоколы (Inpas, Атол, Дримкасс, Меркурий и пр.) Кассовые аппараты производства Штрих-М не поддерживает и не понимает.
Банковский Терминал работает на любом протоколе, который на него установят сотрудники банка (Arcus2, EFTPOS, Сбербанк и пр.). Протокол Штрих никакой из Банковских терминалов не поддерживает.
Как тогда они общаются друг с другом? И как заодно сэкономить на обслуживании принтера банковского терминала?
Банковский терминал будет использовать онлайн-кассу как принтер своих чеков.
Берётся кассовая программа, которая поддерживает оба протокола, например Штрих у онлайн-кассы и Arcus2 у пинпада. Как только банковский терминал проводит операцию, то он шлет данные на печать кассовой программе. Но ведь онлайн-касса не поймет что печатать, если кассовая программа передаст онлайн-кассе данные на печать как есть, то есть на протоколе Arcus2, в то время как онлайн-касса понимает только протокол Штрих. Вот для этого кассовая программа и нужна. Она переводит данные для печати с протокола Arcus2 на протокол Штрих.
Еще один момент:
На онлайн-кассе можно напечатать любой текст и графику. Зайдем в Тесте Драйвера в раздел 04.Печать Текста - Вкладка Текст - вводим любой текст и аппарат напечатает все что угодно. Никто в этом не ограничивает. Это называется “команда на печать текста”. Этой командой печатается и всякая информация о скидках, бонусных баллах, информация об акциях и реклама в любом месте чека.
Этим же методом и печатается информация о банковском чеке. Онлайн-касса ее не хранит, в ФН ее нет, в ОФД не передается, в ФНС ее не видят. Банковский чек (слип) хранится в банковском терминале.
В ФН, ОФД и в ФНС хранится информация только о фискальном чеке, который идет после банковского чека.
То есть, онлайн касса получает от кассовой программы много раз одну и ту же команду “Напечатать текст”
Таким образом, если онлайн-касса печатает слип не на всю ширину, печатает с переносом, режет слип чек, хотя не должен, не режет слип чек, хотя должен, печатает по несколько банковских чеков, то это значит, что аппарату так сказала сделать кассовая программа, которая так переработала информацию о чеке от банковского терминал. В общем, кассовая программа сказала распечатать именно эту текстовую информацию, напечатать именно так, а не этак, и разрезать именно в этом месте.
Вопрос “Почему ККТ или напечатало слип не так, не режет его” - простой. Потому что кассовая программа сказала ККТ так сделать.
А вот вопрос почему кассовая программа сказала разрезать слип в данном месте или сказала напечатать без последнего символа в строках - это уже вопрос сложный. По практике, в этом также замешан банковский терминал, хоть специалисты банка и могут утверждать что дело категорически не в банковском терминале. Это может быть и кассовая программа, пусть ее техподдержка и будет утверждать что дело в онлайн-кассе или Терминале.