Кассатку как и всю технику Чек-Онлайн можно прикручивать к интернет магазинам!
Да это реальная возможность ! Но платная ! 1000р/мес.
Но при этом вы можете работать на кассе в обычном режиме - с кнопок или в режиме ФР.
Управление с интернет магазина идет по TCPIP. Пакет , который надо послать в кассе с сайта для пробития чека в простом json формате.
Пробуйте - есть тестовый период 7 дней .
Итак имеем открытый протокол для управления кассой по TCPIP POST запросом с передачей данных в формате json. Протокол 3.5.27 на 2019г.
Лучше сразу скачать postman программу в интернете и там тестить запросы
Реально , чтобы процесс пошел быстро просто качаем бесплатную прогу postman. Это все что надо для посылки post json запросов на любой ip без лишних проблем.
Есть еще более трудный путь : htaccess, redirect, CURL ...
Читайте далее в этой ветке как кидать запросы кассе из PHP
Как не надо тестировать, чтобы не убить вагон времени
К сожалению просто сделать тестовую страницу на своем сайте и посылать JSON данные через js ajax на IP кассы НЕ получится, т.к. в браузерах срабатывает защита CORS (доменные имена разные):
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://192.168.1.125:4444/fr/api/v2/PrintLog. (Причина: не удалось выполнить запрос CORS
Ajax запросы можно слать ТОЛЬКО на тот же домен
Например : с http://kkmspb.ru на http://192.168.1.125 на скрипте js не получится передать данные.
Сами HTML формы в формате JSON данные посылать тоже не могут.
Интерактивно (ручками) через кнопку sumbit формы получится переход с http://kkmspb.ru на http://192.168.1.125, но данные никак не будут в формате JSON.
Что делать?Что делать?
Для проверки работы протокола для управления кассой по TCP-IP пробовали следующий метод:
на сервере kkmspb.ru в .htaccess у нас примерно настроено так :
RewriteCond %{SERVER_PORT} ^4444$
RewriteRule .* http://xxx.xxx.xxx.xxx:3333 [L]
где xxx.xxx.xxx.xxx внешний ip сервера нашей организации, за которым находится реально наша Кассатка 7.
На xxx.xxx.xxx.xxx естественно надо пробросить порт 4444 извне на внутренний 192.168.1.125 (ip кассы)
И это не сработает , т.к. RewriteRule вернет сразу нашему браузеру переход на другой ip (xxx.xxx.xxx.xxx) прям в командной строке (увидите). И браузер скажет CORS.
Остается только вариант делать второй запрос через CURL
По начальным символам url /fr/ переходим на спец.страницу , где через curl делаем запрос на нашу кассу
RewriteCond %{REQUEST_URI} ^/fr/(.*)$
RewriteRule .* /test_redirect.php [L]
И тут браузер НЕ заподозрит ничего. Ибо вы же на своем сервере программируете, значит знаете , что делаете. Зона ответственности браузера заканчивается и наступает ваша ответственность . В итоге запрос сможет быть выполнен и ответ будет передан обратно браузеру.
Например JSON данные такого формата выполнятся нормально:
"RequestId":"m05m3oxdyts8s80g4osgssgk800g8sw","Password":30,"Request":{"LogSize":"100"}}
Обратите внимание"Password":30 , значение 30 нельзя помещать почему-то в кавычки.