Схема взаимодействия биллинга с кассовым аппаратом:
У кассира на рабочем компьютере должен быть запущен специальное приложение (tray_proxy). Биллинг, при авторизации кассира, запоминает его ip адрес и далее все команды для ККМ отправляются на этот ip адрес и обрабатывается приложением tray_proxy.
По умолчанию при печати чека для наличной оплаты биллинг отправляет команды на печать только 1 чека. В случае, если необходимо распечатать повторно тот же самый чек и отдать абоненту - используйте опцию Повторить последний документ на вкладке ККМ |
Настройка кассового аппарата ПИРИТ
Сайт производителя аппарата: http://www.crystals.ru/fiskalnyj-registrator
Работа проверялась на аппарате ПИРИТ ФР01К
Теоретически, поддерживаются все устройства, поддерживающие протокол пирит.
Установка и настройка tray_proxy:
Скачать приложение можно по ссылке: [^tray_proxy_v2.2.zip]
Далее, открываете файл main.py и в начале файла меняете параметры:
- BILLING_IP - ip биллинга (команды будут приниматься только с этого ip)
- DEVICE - порт, к которому подключен кассовый аппарат
- PIRIT_PASSWORD - 4х символьный пароль для кассового аппарата
Далее его можно будет запускать (для запуска требуются права администратора)
Настройка кассового аппарата АТОЛ
Сайт производителя аппарата: http://www.atol.ru/products/kkt/
Описание протокола:
- [Описание протокола АТОЛ версии 3.1|Установка tray_proxy для интеграции с ККМ. POS-терминал Verifone^Протокол_ККТ_3.1.pdf]
- [Описание протокола АТОЛ версии 3.0|Установка tray_proxy для интеграции с ККМ. POS-терминал Verifone^Протокол_ККТ_3.0.pdf]
- [Описание протокола АТОЛ версии 2.4|Установка tray_proxy для интеграции с ККМ. POS-терминал Verifone^Protokol_KKM_2.4_040614.pdf]
Протокол "Атол Протокол ККТ 3.1"
По данному протоколу осуществляется поддержка 54-ФЗ аппаратами Атол с ФФД 1.0.5.
Работа проверялась на аппарате Fprint-22ПТК
Протокол "Атол Протокол ККТ 2.4"
Работа проверялась на аппаратах Fprint-03K и Fprint-22K
Теоретически, поддерживаются ККТ FPrint-55K, FPrint-22K, FPrint-11ПТК и FPrint-77ПТК, поддерживающие протокол Атол версии 2.4 с включенным режимом совместимости 1.0
Если Ваше устройство работает по протоколу версии 3, то переключить его на протокол 2 версии можно через Сервисный режим.
Настройка биллинга:
Нужно указать протокол, в данном случае "atol", в настройках веб-кассы:
Платежные системы -> Настройки веб-кассы, поле "ККМ (PIRIT, ATOL И Т.П.)"
У Атол есть пароли оператора (ККМ ПАРОЛЬ ДОСТУПА) (по умолчанию "30") и смены режима (ККМ ПАРОЛЬ СМЕНЫ РЕЖИМА) (по умолчанию "0").
Установка и настройка tray_proxy:
Скачать приложение можно по ссылке: [Установка tray_proxy для интеграции с ККМ. POS-терминал Verifone^tray_proxy_v2.2.zip]
Далее, открываете файл settings.py и в меняете параметры:
- BILLING_IP - ip биллинга (команды будут приниматься только с этого ip)
- DEVICE - порт, к которому подключен кассовый аппарат
- BAUDRATE - скорость соединения с портом
- KKM - протокол работы, в данном случае "ATOL"
- DEBUG - следует выставить "0", если запускаете двойным кликом по "main.pyw", или "1", если через командную строку.
- AUTOSTART - следует выставить "1", если после запуска скрипта нужно сразу запускать веб-сервер и соединение с ККМ.
Далее можно запускать main.pyw двойным кликом или через консоль (для запуска могут потребоваться права администратора).
Под Ubuntu есть возможность запуска приложения через иконку TrayProxy (файл иконки tray_proxy.desktop)
Правый клик по иконке в системном трее, пункт "Start Server" запустит веб-сервер, который будет принимать запросы на печать чеков от биллинга.
Для этого нужно убедиться, что порт 8080 открыт на компьютере кассира.
tray_proxy под Windows (XP, 7, 10)
Для работы необходимо:
- Python 2.7 Сайт (прямая ссылка на 32-битный инсталлятор: python-2.7.10.msi)
- PyGTK 2.24 Сайт (прямая ссылка на 32-битный инсталлятор: pygtk-all-in-one-2.24.2.win32-py2.7.msi)
- PySerial 2.7 Сайт (прямая ссылка на 32-битный инсталлятор: pyserial-2.7.win32.exe)
- PyWin32 build 221 Сайт (ссылка на 32-битный инсталлятор: pywin32-221.win32-py2.7.exe)
- zope.interface 4.1.3 Сайт (прямая ссылка на 32-битный инсталлятор: zope.interface-4.1.3.win32-py2.7.exe)
- Twisted 15.4.0 Сайт (прямая ссылка на 32-битный инсталлятор: Twisted-15.4.0.win32-py2.7.msi)
tray_proxy под Ubuntu, Debian
Для работы необходимо:
- Python 2.7: apt install python2.7 python-pip python-dev build-essential
- PyGTK 2.24: apt install python-gtk2
- Обновить pip: pip install --upgrade pip
- PySerial 2.7: _pip install pyserial==2.7
- zope.interface 4.1.3: pip install zope.interface==4.1.3
- Twisted 15.4.0: pip install Twisted==15.4.0
Скрипт установки:
#!/bin/bash
apt install python2.7 python-pip python-dev build-essential python-gtk2
pip install --upgrade pip
pip install pyserial==2.7 zope.interface==4.1.3 Twisted==15.4.0
Режим совместимости для протокола 2.4 и ФФД 1.0
Для оборудования с версией протокола 3+ необходимо включить режим совместимости через драйвер идущий в поставке
На 4 шаге установите значения:
Таблица 2 Ряд 1 Поле 109
Значение установите 001
Решение проблем с tray_proxy
Для работы с ККМ необходимо:
1) Перейти на вкладку "Веб - касса" из меню основной платформы
2) Выбрать вкладку "ККМ"
3) В открывшемся меню нажать на кнопку "Запустить ККМ"
В случае, если биллинг выдаст ошибку необходимо открыть файл settings.py и выставить в поле "DEBUG" значение "1" и запустить файл main.pyw из командной строки с помощью python. Для запуска из командной строки необходимо перейти в каталог с установленным питоном и выполнить команду python 'путь до файла main.pyw". После этого откроется окно с подробным логированием. Чтобы увидеть какую именно ошибку выдает tray_proxy, необходимо ещё раз нажать кнопку "Запустить ККМ" и проверить какая именно ошибка появляется. |
Нет связи с ККМ
Убедитесь что с биллинга доступен порт 8080 компьютера оператора, на котором запущен TrayProxy.
Если компьютер находится за NAT, пробросьте порт на маршрутизаторе.
В момент нажатии кнопки Открыть смену биллинг пытается отправить команду на tray_proxy, который находится на компьютере оператора, поэтому, если у биллинга нет доступа до компьютера оператора - связи не будет. |
Некорректный ответ API от ККМ
Возможно указаны неверные пароли. Необходимо перейти на вкладку Платежные системы - Настройки веб-кассы и поменять значения 30 и 0 у полей ККМ ПАРОЛЬ ДОСТУПА и ККМ ПАРОЛЬ СМЕНЫ РЕЖИМА
Произошла ошибка api: Неверная длина
У ККМ есть ограничение длины строки, у некоторых моделей это значение немного отличается. По умолчанию задано 48 символов. Ошибка "Произошла ошибка api: Неверная длина" означает, что для Вашего аппарата необходимо указать другое значение этого параметра. Изменить можно с помощью файла /app/asr_billing/cfg/kkm_atol_webcash.json , записав туда
, где вместо "32" необходимо указать длину строки для Вашего аппарата.
Verifone vx820. Безналичная оплата с терминалов.
Для того, чтобы биллинг мог отправлять команды на терминал Verifone для списания конкретной суммы с абонентов, необходимо провести следующую настройку:
1) Перейти на вкладку Платежные системы - Настройки веб-кассы и выставить опцию ИСПОЛЬЗОВАТЬ POS-ТЕРМИНАЛ
2) Для того, чтобы можно было отправить команды на терминал, необходимо перейти в меню Веб-касса, найти нужного абонента и добавить Безналичный приход, выставив данную опцию.
3) После добавления прихода, он будет отображен у абонента. Для того, чтобы данную сумму списать с карты абонента, необходимо рядом с платежом выбрать пункт Оплатить картой
Внимание: Опция Оплатить картой будет доступна только для безналичных платежей! |