Не приходит ответ от Эвотор

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
janealter
Сообщения: 16
Зарегистрирован: 14 янв 2021, 22:15

Не приходит ответ от Эвотор

Сообщение janealter » 22 мар 2021, 19:23

Привет всем! У кого-нибудь есть такая проблема, что при отправке команды RegisterCheck на Эвотор, ответ от Эвотора к KKMServer приходит через раз? То есть, иногда отправляешь запрос RegisterCheck, и сразу после печати чека приходит ответ со Status = 0 (все ОК), а иногда приходит Status = 1 (Ожидание выполнения команды), и я начинаю посылать команду GetRezult с некоторым интервалом, чтобы получить положительный результат позже, но сколько бы раз я не запрашивал результат, все равно у команды остается Status = 1, и по сути для KKMServer оплата никогда не завершается, хотя чек на Эвоторе уже давно напечатался. Тех. поддержка говорит, что проблема в файерволе, но это ИМХО неправда, так как иногда все работает нормально, а иногда нет (если бы какое-то правило в файерволе запрещало что-то Эвотору или KKMServer, то проблема бы было постоянной, а не через раз). К тому же, я отключал файерволл во время тестов. Еще указывает на проблемы с интернетом, но у меня дома очень хороший интернет, работает без каких-либо задержек, и какие-то пару десятков килобайт он точно способен отправить без проблем, при скорости в 1Гбит/с. Эвотор подключен по кабелю. Интересно почитать мнение других людей, которые используют Эвотор + KKMServer. Я пробовал интеграцию в четырех разных городах России (Уфа, Челябинск, Казань, и теперь у себя дома, в Москве), и везде одна и та же проблема, при этом тех. поддержка убеждает меня в том, что у большинства остальных клиентов все в порядке (кто-то из них даже заходил через Team Viewer в одном из городов, и проверял мои настройки, но ничего плохого не обнаружил). Может, я что-то делаю не так? Заранее спасибо!

Аватара пользователя
saratovout
Сообщения: 260
Зарегистрирован: 08 авг 2019, 23:52
Откуда: Boston
Контактная информация:

Re: Не приходит ответ от Эвотор

Сообщение saratovout » 22 мар 2021, 22:09

Судя по симптомам, ККТ уходит в спящий режим. Попробуйте запретить ему "спать".
good films make your life better..

janealter
Сообщения: 16
Зарегистрирован: 14 янв 2021, 22:15

Re: Не приходит ответ от Эвотор

Сообщение janealter » 22 мар 2021, 22:17

Проблема не в этом. Путем многократных тестов я выявил виновника проблемы) Все дело в том, что я обычно я генерирую свой IdCommand по словарю A-Za-z0-9_-, и, просматривая логи, я обнаружил забавную вещь. Если в сгенерированном IdCommand присутствует нижнее подчеркивание (_), то такая операция зависает. Если его нет, тогда все хорошо, и KKMServer нормально получает ответ. Непонятно, почему существует такая проблема с нижним подчеркиванием, но факт остается фактом. Теперь использую словарь без _, и каждая продажа работает почти без проблем (иногда надо нажимать на значок KKMServer, но это мелочь). Может, разработчик ради интереса посмотрит у себя в коде, почему так происходит :)

Аватара пользователя
saratovout
Сообщения: 260
Зарегистрирован: 08 авг 2019, 23:52
Откуда: Boston
Контактная информация:

Re: Не приходит ответ от Эвотор

Сообщение saratovout » 22 мар 2021, 22:30

:? Давайте дружно позовем Audim
Audim писал(а):
good films make your life better..

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Не приходит ответ от Эвотор

Сообщение Audim » 22 мар 2021, 22:33

Поставил задачу - будем разбираться...

janealter
Сообщения: 16
Зарегистрирован: 14 янв 2021, 22:15

Re: Не приходит ответ от Эвотор

Сообщение janealter » 22 мар 2021, 23:00

Audim писал(а):
22 мар 2021, 22:33
Поставил задачу - будем разбираться...
Есть еще один момент - если не успеть сделать оплату до истечения таймаута на запрос RegisterCheck (за него отвечает поле Timeout), то возвращается Status = 1, и после этого команда GetRezult тоже всегда возвращает Rezult.Status = 1. Хоть через час после операции, хоть через два. Такое ощущение, что KKMServer в случае с Эвотором вообще никак не проверяет статус операции, и не обновляет его больше никогда, если не уложиться в таймаут :) Это так и задумано? Я пытался поставить Timeout в 300 секунд, но уже через 100 секунд запрос завалился с ошибкой "Ошибка передачи команды на kkmserver.ru: Время ожидания операции истекло". То есть больше 100 секунд никак не выставить? Получается, если человек не успел за полторы минуты достать карту и приложить, или кассир не успел оторвать слип-чек, то операция зависает навсегда. Как-то неприятно получается. Можно с этим что-то сделать?

janealter
Сообщения: 16
Зарегистрирован: 14 янв 2021, 22:15

Re: Не приходит ответ от Эвотор

Сообщение janealter » 29 мар 2021, 19:36

Нашел обходной путь для этой проблемы: просто рвем соединение с KKMServer где-то через 10 или меньше секунд, не дожидаясь ответа, и потом проверяем статус команды с помощью GetRezult. В таком случае статус обновится нормально, через несколько секунд после печати чека. Если же дождаться ответа от KKMServer (даже если в теле запроса выставить маленький Timeout = 2), то статус зависнет навсегда. В общем, нельзя давать ответить KKMServer на команду RegisterCheck, и тогда все работает.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Не приходит ответ от Эвотор

Сообщение Audim » 30 мар 2021, 21:48

Не воспроизводится у нас это.
Вот не воспроизводится и все......

janealter
Сообщения: 16
Зарегистрирован: 14 янв 2021, 22:15

Re: Не приходит ответ от Эвотор

Сообщение janealter » 16 апр 2021, 19:39

На 4-х разных кассах Эвотор (разных поколений), находящихся в разных городах, воспроизводится, а у вас нет. http://localhost:5893/html/Samples.html - вот на этой странице прекрасно все воспроизводится, даже без стороннего ПО. Вы даже ко мне на комп заходили, и видели, что статус не обновляется, после чего посоветовали уменьшить поле Timeout и вышли, но это не помогло. Тут одно из двух: либо вы тестируете в каких-то особых условиях, не имеющих ничего общего с реальной эксплуатацией касс Эвотор, либо вам банально лень погрузиться чуть глубже в корень проблемы, и лень искать баги, поэтому единственный ваш ответ "мне пофиг, у меня все работает, проблема на вашей стороне". Извините за грубость, но я уже устал платить деньги за ваш софт, и вместо нормальной поддержки получать типичные ответы, как у интернет-провайдера.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Не приходит ответ от Эвотор

Сообщение Audim » 17 апр 2021, 16:03

>На 4-х разных кассах Эвотор (разных поколений), находящихся в разных городах, воспроизводится, а у вас нет.
Да.
>Вы даже ко мне на комп заходили, и видели, что статус не обновляется,
Да, видел.
Но у себя воспроизвести не можем хоть убей.
И соответственно корень проблемы не можем найти.

Единственное что видим - Пуши от сервера эвотора на некоторых Эвоторах не доходят до них, либо не все.
Сами эвоторцы кивают на настройку сети у клиентов - дескать что-то у них не правильно - вот пуши и теряются.

Ищем проблемы - пытаемся решить.

Ответить