Если банк провел возврат, а заказ в магазине все еще оплачен, менеджеры и клиент видят разные реальности. Это ломает учет, склад и коммуникацию.

В чем проблема

Статус не обновляется, если магазин не получает webhook возврата, не отличает полный и частичный refund, игнорирует статус в API или не умеет менять заказ после оплаты.

Что проверяю

  • Есть ли событие refund от платежной системы.
  • Сохраняется ли refund id.
  • Полный возврат или частичный.
  • Какой статус должен получить заказ.
  • Нужно ли возвращать товар на склад и бонусы.

Как исправляю

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

  • Проверяю историю платежа и webhook.
  • Добавляю обработку refund-события.
  • Разделяю полный и частичный возврат.
  • Обновляю статус заказа и связанные операции.
  • Тестирую возврат на тестовом платеже.

Что получает заказчик

  • Статус заказа соответствует возврату.
  • Менеджеры видят актуальную картину.
  • Склад и бонусы корректно пересчитываются.
  • Меньше ручных исправлений после возвратов.

Что нужно для старта

  • Название платежной системы.
  • ID заказа и платежа.
  • Доступ к логам webhook.
  • Правила статусов возврата.

Вопросы и ответы

Можно ли подтянуть возвраты задним числом?

Да, если платежная система позволяет запросить историю refund по API.

Что сложнее: полный или частичный возврат?

Частичный, потому что нужно корректно пересчитать позиции, доставку, бонусы и статус.

Нужна похожая задача?

Напишите, что именно сломалось или что нужно запустить. Я разберу симптомы, проверю техническую причину и предложу понятный план работ с адекватными сроками.