По работе с расширением для браузера

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
DmitryS
Сообщения: 10
Зарегистрирован: 15 мар 2023, 18:47

По работе с расширением для браузера

Сообщение DmitryS » 20 июл 2023, 11:50

Из примера вызова
KkmServer.Execute(ExecuteSuccess, Data);
Вопрос: а нет вызова доп функции, если произошла ошибка?

Предыстория: вызываем регистрацию чека, ккт начинает его печать, заканчивается бумага и... ExecuteSuccess не вызывается, оплата не проходит, соответственно теряется чек... :(

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

Re: По работе с расширением для браузера

Сообщение Audim » 20 июл 2023, 16:42

kkmserver вернул ошибку или ок?

Если ошибку - нужно печатать заново.
Если ок - значит чек зарегистрирован - ККТ должна его после смены бумаги напечатать заново (без участия kkmserver)

DmitryS
Сообщения: 10
Зарегистрирован: 15 мар 2023, 18:47

Re: По работе с расширением для браузера

Сообщение DmitryS » 21 июл 2023, 11:18

Я же говорю ExecuteSuccess не вызывался, соответственно, где, как и в какой момент я узнаю, что вернул ккм?

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

Re: По работе с расширением для браузера

Сообщение Audim » 21 июл 2023, 17:40

Значит страница по какой-то причине была перезагружена.
И соответственно ссылка на CallBаck была аннулирована браузером.

В таких случаях только повторный запрос на статус команды поможет.
Узнать статус отданной ранее команды можно по команде "GetRezult"
https://kkmserver.ru/KkmServer#PrimerJavaGetRezult

DmitryS
Сообщения: 10
Зарегистрирован: 15 мар 2023, 18:47

Re: По работе с расширением для браузера

Сообщение DmitryS » 22 июл 2023, 13:36

Страница точно не перегружалась. И подобное поведение (невызов callback-функции) замечено не первый раз... Таймаут есть какой-то?

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

Re: По работе с расширением для браузера

Сообщение Audim » 23 июл 2023, 03:49

Таймат по умолчанию 30 секунд (можно переопределить в команде.
Но CallBаck должна быть вызвана в любом случае!
Даже если команде еще не выполнена - просто вернется статус что команда еще выполняется.

Как определили что страница не перезагружалась? (часто крытая программная перезагрузка из скрипта)
Или при нехватке оперативки при переключении на другую закладку и обратно в браузере - могла произойти перезагрузка страницы.

DmitryS
Сообщения: 10
Зарегистрирован: 15 мар 2023, 18:47

Re: По работе с расширением для браузера

Сообщение DmitryS » 02 авг 2023, 02:11

Включил расширенные логи, вижу, что эквайринговый терминал выдал сообщение "нет связи с банком", плагин (под хромом) никак на это не отреагировал, никаких сообщений не выдал, в лог сыпятся несколько раз ошибки об отсутствии терминала, а далее, вероятно, терминал еще раз пытается соединиться с банком, у него все получается, чек в ОФД регистрируется, а callback-функция в итоге не вызывается!...Изображение
Изображение

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

Re: По работе с расширением для браузера

Сообщение Audim » 03 авг 2023, 16:15

>плагин (под хромом) никак на это не отреагировал, никаких сообщений не выдал
В обязательном порядке вызывается callback в этом случае.
Промерено миллионы раз на разных сайтах.

DmitryS
Сообщения: 10
Зарегистрирован: 15 мар 2023, 18:47

Re: По работе с расширением для браузера

Сообщение DmitryS » 07 авг 2023, 11:49

не вызывается...
изменил на отдельный вызов оплаты с проверкой на ошибку и дальнейшем вызовом регистрации чека
так работает без проблем

Ответить