... h3. Схема взаимодействия биллинга с кассовым аппаратом: У кассира на рабочем компьютере должен быть запущен специальное приложение (tray_proxy). Биллинг, при авторизации кассира, запоминает его ip адрес и далее все команды для ККМ отправляются на этот ip адрес и обрабатывается приложением tray_proxy. {INFO} По умолчанию при печати чека для *наличной* оплаты биллинг отправляет команды на печать только 1 чека. В случае, если необходимо распечатать повторно тот же самый чек и отдать абоненту - используйте опцию *Повторить последний документ* на вкладке ККМ {INFO} !ATOL2.png|border=1! h2. Настройка кассового аппарата ПИРИТ Сайт производителя аппарата: [http://www.crystals.ru/fiskalnyj-registrator] Работа проверялась на аппарате *ПИРИТ ФР01К* Теоретически, поддерживаются все устройства, поддерживающие _протокол пирит_.
|
... Далее, открываете файл main.py и в начале файла меняете параметры: * BILLING_IP - ip биллинга (команды будут приниматься только с этого ip) * DEVICE - порт, к которому подключен кассовый аппарат * PIRIT_PASSWORD - 4х символьный пароль для кассового аппарата Далее его можно будет запускать (для запуска требуются права администратора) h2. Настройка кассового аппарата АТОЛ Сайт производителя аппарата: [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] h3. Протокол "Атол Протокол ККТ 3.1" По данному протоколу осуществляется поддержка 54-ФЗ аппаратами Атол с ФФД 1.0.5. Работа проверялась на аппарате *Fprint-22ПТК* h3. Протокол "Атол Протокол ККТ 2.4" Работа проверялась на аппаратах *Fprint-03K* и *Fprint-22K* Теоретически, поддерживаются ККТ FPrint-55K, FPrint-22K, FPrint-11ПТК и FPrint-77ПТК, поддерживающие _протокол Атол версии 2.4 с включенным режимом совместимости 1.0_ Если Ваше устройство работает по протоколу версии 3, то переключить его на протокол 2 версии можно через Сервисный режим. h3. Настройка биллинга: Нужно указать протокол, в данном случае "atol", в настройках веб-кассы: {code} Платежные системы -> Настройки веб-кассы, поле "ККМ (PIRIT, ATOL И Т.П.)" {code} У Атол есть пароли оператора (_ККМ ПАРОЛЬ ДОСТУПА_) (по умолчанию "30") и смены режима (_ККМ ПАРОЛЬ СМЕНЫ РЕЖИМА_) (по умолчанию "0"). h3. Установка и настройка 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 открыт на компьютере кассира. h3. tray_proxy под Windows (XP, 7, 10) Для работы необходимо: # *Python 2.7* [Сайт|https://www.python.org/downloads/] (прямая ссылка на 32-битный инсталлятор: [python-2.7.10.msi|https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi]) # *PyGTK 2.24* [Сайт|http://www.pygtk.org/downloads.html] (прямая ссылка на 32-битный инсталлятор: [pygtk-all-in-one-2.24.2.win32-py2.7.msi|http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi]) # *PySerial 2.7* [Сайт|https://pythonhosted.org/pyserial/] (прямая ссылка на 32-битный инсталлятор: [pyserial-2.7.win32.exe|https://pypi.python.org/packages/47/c9/7802e11ab388ad1539de716649add8bb8ca8bdff660364b3a404f79c27b7/pyserial-2.7.win32.exe#md5=21555387937eeb79126cde25abee4b35]) # *PyWin32 build 221* [Сайт|https://sourceforge.net/projects/pywin32/] (ссылка на 32-битный инсталлятор: [pywin32-221.win32-py2.7.exe|https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/pywin32-221.win32-py2.7.exe/download]) # *zope.interface 4.1.3* [Сайт|https://zopeinterface.readthedocs.io] (прямая ссылка на 32-битный инсталлятор: [zope.interface-4.1.3.win32-py2.7.exe|https://pypi.python.org/packages/49/5f/ed5ea875af4e802198d035efe985d341d9b50edddbc22b785d2ef4b9eb66/zope.interface-4.1.3.win32-py2.7.exe#md5=e0a5bbc762126157b63d0233e26cc751]) # *Twisted 15.4.0* [Сайт|http://twistedmatrix.com/trac/wiki/Downloads] (прямая ссылка на 32-битный инсталлятор: [Twisted-15.4.0.win32-py2.7.msi|http://twistedmatrix.com/Releases/Twisted/15.4/Twisted-15.4.0.win32-py2.7.msi]) h3. 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_ Скрипт установки: {code} #!/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 {code} h3. Режим совместимости для протокола 2.4 и ФФД 1.0 Для оборудования с версией протокола 3\+ необходимо включить режим совместимости через драйвер идущий в поставке !kkm_sec_kod.png|border=1! На 4 шаге установите значения: {color:#000000}Таблица 2 Ряд 1 Поле 109{color} {color:#000000}Значение установите {color}{color:#000000}001{color} h1. Решение проблем с tray_proxy Для работы с ККМ необходимо: 1) Перейти на вкладку "Веб - касса" из меню основной платформы !BASE.png|border=1! 2) Выбрать вкладку "ККМ" !KKT.png|border=1! 3) В открывшемся меню нажать на кнопку "Запустить ККМ" {info} В случае, если биллинг выдаст ошибку необходимо открыть файл *settings.py* и выставить в поле *"DEBUG"* значение *"1"* и запустить файл *main.pyw* из командной строки с помощью python. Для запуска из командной строки необходимо перейти в каталог с установленным питоном и выполнить команду *python 'путь до файла main.pyw"*. После этого откроется окно с подробным логированием. Чтобы увидеть какую именно ошибку выдает tray_proxy, необходимо ещё раз нажать кнопку *"Запустить ККМ"* и проверить какая именно ошибка появляется.{info} h3. Нет связи с ККМ Убедитесь что с биллинга доступен порт 8080 компьютера оператора, на котором запущен TrayProxy. Если компьютер находится за NAT, пробросьте порт на маршрутизаторе. {info} В момент нажатии кнопки *Открыть смену* биллинг пытается отправить команду на tray_proxy, который находится на компьютере оператора, поэтому, если у биллинга нет доступа до компьютера оператора - связи не будет. {info} h3. Некорректный ответ API от ККМ Возможно указаны неверные пароли. Необходимо перейти на вкладку *Платежные системы - Настройки веб-кассы* и поменять значения 30 и 0 у полей *ККМ ПАРОЛЬ ДОСТУПА* и *ККМ ПАРОЛЬ СМЕНЫ РЕЖИМА* h3. Произошла ошибка api: Неверная длина У ККМ есть ограничение длины строки, у некоторых моделей это значение немного отличается. По умолчанию задано 48 символов. Ошибка "Произошла ошибка api: Неверная длина" означает, что для Вашего аппарата необходимо указать другое значение этого параметра. Изменить можно с помощью файла /app/asr_billing/cfg/kkm_atol_webcash.json , записав туда: {code} {"stringMax": 32} {code} Вместо "32" необходимо указать длину строки для Вашего аппарата. h1. Verifone vx820. Безналичная оплата с терминалов. Для того, чтобы биллинг мог отправлять команды на терминал Verifone для списания конкретной суммы с абонентов, необходимо провести следующую настройку: 1) Перейти на вкладку *Платежные системы - Настройки веб-кассы* и выставить опцию *ИСПОЛЬЗОВАТЬ POS-ТЕРМИНАЛ* !kassa1.png|border=1! 2) Для того, чтобы можно было отправить команды на терминал, необходимо перейти в меню *Веб-касса*, найти нужного абонента и добавить *Безналичный* приход, выставив данную опцию. !kassa2.png|border=1! 3) После добавления прихода, он будет отображен у абонента. Для того, чтобы данную сумму списать с карты абонента, необходимо рядом с платежом выбрать пункт *Оплатить картой* !kassa3.png|border=1! {warning} Внимание: Опция *Оплатить картой* будет доступна только для безналичных платежей! {warning} h5. После этого команды будут отправлены на терминал и абоненту будет предложено вставить/приложить карту. Как только списание завершится, биллинг автоматически отправит команды на печать чека.
|