Перейти к содержимому
N1
Интеграции · платежи · бронирование

Приём онлайн-оплаты в платформе бронирования

Клиент: NDA Категория: Интеграции Стек: PHP (собственный backend), платёжный шлюз, webhook, очереди Срок: 2–3 недели
Проблема

Бронирование без предоплаты превращалось в проблему: часть клиентов не приходила, а сверять оплаты по каждому заказу вручную приходилось поддержке.

Ограничения

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

Что сделал
  • Создание платежа при оформлении брони с прокидыванием суммы и назначения
  • Приём webhook-уведомлений об оплате с проверкой подписи
  • Идемпотентная обработка повторных уведомлений — статус брони не дублируется и не «скачет»
  • Возвраты при отмене брони с синхронизацией статуса
  • Сверка «бронь ↔ платёж» без ручной работы поддержки
Архитектура
Бронирование Платёжный шлюз Webhook-приёмник Идемпотентный обработчик Статус брони
Результат

Оплата брони стала прозрачной: клиент платит на месте оформления, статус брони обновляется автоматически, а поддержка больше не сверяет платежи вручную.

Что можно переиспользовать
Идемпотентный обработчик webhook платёжного шлюза Логика частичных оплат и возвратов Сверка брони и платежа без ручной работы