Статьи
Короткие разборы по сайтам, ботам, скриптам, серверу и автоматизации. Без академичности: только то, что помогает быстрее понять задачу и принять решение.
Пользователь может оплатить недоступной для страны валютой: как ограничить выбор
Как валидировать валюту по стране, рынку и платёжному методу: серверные правила, неизменяемый заказ, курс, checkout и защита от подмены API.
Читать статью →Рейтинг продавца считается без учёта отмен и возвратов: как исправить формулу
Как включить отмены и возвраты в рейтинг продавца: определения, окно расчёта, причины, защита от манипуляций, версия формулы и пересчёт.
Читать статью →После возврата покупки начисленные бонусы остаются: как скорректировать баланс
Как отменять бонусное начисление при полном и частичном возврате: ledger, пропорция, уже потраченные баллы, идемпотентность и сверка.
Читать статью →Возврат отклонён, но клиент получает сообщение об одобрении: как исправить
Как согласовать статус возврата и уведомления: state machine, outbox, версия события, поздние ответы, шаблоны и защита от неверной рассылки.
Читать статью →Минимальная сумма заказа проверяется до вычета бонусов: как настроить правило
Как определить базу минимальной суммы заказа при бонусах и скидках: единая формула, доставка, налоги, округление, серверная проверка и тесты корзины.
Читать статью →Ошибка онлайн-кассы не отображается менеджеру заказа: как вернуть контроль
Как показывать менеджеру состояние фискализации: отдельные статусы, причина ошибки, retry, права, очередь, аудит и защита от дублирующих чеков.
Читать статью →После возврата платежа лимиты тарифа остаются активными: как исправить
Как синхронизировать возврат с доступом и лимитами тарифа: статусы платежа, подписка, entitlement, webhook, частичный возврат и защита от повторов.
Читать статью →Восстановление пароля не работает на мобильной версии: что проверить
Почему сброс пароля работает на компьютере, но ломается на телефоне: deep link, cookies, клавиатура, viewport, API, токен и проверка разных браузеров.
Читать статью →Cron резервного копирования не запускается: как восстановить бэкапы
Пошаговая проверка задания резервного копирования в cron: расписание, пользователь, PATH, права, lock, диски, журналы, exit code, мониторинг и тест восстановления.
Читать статью →Elasticsearch-кластер стал yellow: как найти и устранить неприсвоенные шарды
Что означает yellow в Elasticsearch и как безопасно проверить unassigned replicas, allocation explain, диски, awareness, число узлов, шаблоны индексов и восстановление.
Читать статью →MQTT-брокер доступен из интернета без ограничения topic: как закрыть доступ
Как защитить MQTT-брокер: сетевой периметр, TLS, уникальные учётные данные устройств, ACL по topic, retained messages, аудит, ротация и проверка изоляции.
Читать статью →Consumer подтверждает сообщение до сохранения результата: как исключить потерю данных
Как исправить преждевременный ack в RabbitMQ, Kafka и других очередях: порядок commit, идемпотентность, retry, DLQ, outbox и тесты аварийного завершения.
Читать статью →