Клиент оплатил заказ, менеджер не видит отправление, а два подрядчика отвечают, что у них всё работает. Чтобы найти причину, разложите процесс на подтверждённые этапы. Каждый этап должен иметь номер операции, время и ожидаемый результат. Тогда обсуждение переходит от общих заверений к конкретной записи, где цепочка остановилась.
Соберите паспорт одного проблемного заказа

Начните с номера заказа магазина, времени оформления и описания ожидаемого действия. Добавьте идентификатор платёжной попытки, подтверждённое состояние и номер отправления, если он есть. Отмечайте источник каждого сведения. Сообщение покупателя о списании важно, но для изменения заказа нужна сверка с доверенными данными провайдера.
Не собирайте проблему сразу по всему месяцу. Выберите воспроизводимый случай и восстановите его историю. Например, у заказа оплата подтверждена, но задача создания отправления завершилась ошибкой параметров упаковки. Здесь повторная оплата не решит проблему, а правка доставки должна сохранить уже установленное состояние платежа.
Отметьте границы передачи
Для каждой связи запишите отправителя, получателя и результат. Сайт отправил запрос на платёж, провайдер создал операцию, обработчик принял подтверждение, магазин сохранил состояние, очередь поставила задачу доставки. Успех одного этапа не доказывает успех следующего. Особенно часто это путают по сообщению «запрос отправлен».
Проверьте, что возвращает каждый обработчик и где хранится подтверждение. Если доставка идёт через CRM, добавьте её как отдельное звено. Менеджер мог изменить поле между получением оплаты и передачей перевозчику. Без истории изменений техническую ошибку трудно отделить от ручного действия.
Согласуйте действия при сбое
Ошибка до создания внешней операции и неизвестный результат после запроса требуют разных решений. В первом случае можно исправить параметры и повторить. Во втором сначала нужно узнать, появилась ли операция у провайдера. Не нажимайте повтор автоматически только потому, что сайт не получил ответ вовремя.
При повторном уведомлении уже подтверждённый платёж не должен повторно запускать всю цепочку без контроля. Для доставки также храните связь заказа с созданным отправлением. Это не означает, что у всех провайдеров одинаковая идемпотентность: конкретный механизм определяется документацией, а восстановление связи остаётся задачей вашей системы.
Распределите ответственность по результатам
Подрядчик по сайту отвечает за согласованную серверную логику и её журнал. Поставщик внешнего модуля за поведение своего решения в заявленной версии. Сотрудник бизнеса за принятые правила заказа и заполнение необходимых данных. Зафиксируйте это в проекте, не подменяя договорные обязанности универсальным списком из статьи.
Назначьте одного координатора разбора. Он собирает идентификаторы и сверяет ответы, а не просит клиента по кругу повторять платёж. В обращение к поддержке передавайте минимальные нужные технические сведения. Секретные ключи, лишние персональные данные и полные банковские реквизиты не нужны в общей переписке.
Подтвердите исправление на всей цепочке
После устранения причины проверьте не только проблемный обработчик. Создайте согласованный тестовый заказ, подтвердите оплату, передачу на исполнение и создание отправления. Затем воспроизведите исходный отказ. Так можно убедиться, что ошибка теперь видна ответственному и не приводит к неправильному состоянию.
Для постоянной работы полезен список исключений: оплачено без исполнения, неизвестный результат запроса, повторное уведомление и отправление без связанного заказа. Для каждого назначьте действие и владельца. Не требуйте от менеджера читать технические логи каждый час. Система должна выделять случаи, которым действительно нужна проверка, и хранить достаточно сведений для восстановления.
Связанные материалы
Идемпотентность: как не выполнить одну операцию два раза
Коротко о важном
Кто виноват, если платёж есть, а отправления нет?
Сначала восстановите этапы по идентификаторам и подтверждениям. Причина может находиться в данных заказа, серверной логике, очереди или внешнем ответе. Ответственность определяется результатом разбора и условиями проекта.
Можно сразу повторить запрос после таймаута?
При неизвестном результате сначала проверьте, была ли создана внешняя операция. Иначе повтор может дать второй платёж или лишнее отправление.
Что передать подрядчику для быстрого разбора?
Номер заказа, время, идентификаторы попыток, ожидаемый результат и фактическое состояние. Секреты и избыточные персональные данные передавать в общую переписку не следует.



