Заметки · 2026-09-04
Что делать, если платёжный терминал не ответил: очередь на проверку вместо угадывания
Если результат оплаты на удалённом устройстве неизвестен, есть два простых, но неверных выхода — считать её успешной или считать отклонённой. В системе учёта проката выбрали третий.
Задача
Система учёта проката принимает оплату через кассовые терминалы на точках. Как и у любого сетевого устройства, у терминала есть сценарий, в котором запрос на оплату отправлен, но ответ от него не получен: сеть моргнула, устройство перезагрузилось, ответ потерялся на обратном пути.
Почему оба «простых» варианта опасны
Если в такой ситуации считать оплату успешной по умолчанию, клиент может получить оборудование без реально прошедшего платежа — прямые потери. Если считать её отказавшей по умолчанию, клиент, который на самом деле оплатил, получит отказ в обслуживании или задвоенную попытку списания. Оба варианта пытаются угадать результат там, где системе он на самом деле не известен.
Решение
Неопределённый результат не завершает операцию ни успехом, ни отказом — он переводит её в отдельную очередь на ручную проверку. Сотрудник видит такие операции отдельно от обычного потока и подтверждает или отклоняет их после проверки, а не по умолчанию.
Рядом с этим решён связанный случай: если кассовый или платёжный сервис недоступен целиком, у точки есть резервный сценарий выдачи без кассы — сбой внешнего сервиса не останавливает обслуживание клиентов на площадке.
Отдельно от неопределённости результата — защита от параллельной оплаты на одном терминале: новая продажа на устройстве блокируется, если по нему уже есть операция в обработке, чтобы два платежа не пересеклись и не спутали кассовые итоги.
Почему это важно
Очередь на ручную проверку — не признак того, что автоматизация «не доделана». Это осознанное разделение: то, что система действительно знает, обрабатывается автоматически; то, чего она не знает, идёт человеку, а не угадывается в пользу удобства.