Към съдържанието
N1
Интеграции · плащания · резервации

Онлайн плащане в платформа за резервации

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

Резервация без предплащане се превръщаше в проблем: част от клиентите не се явяваха, а сверяването на плащанията по всяка поръчка ръчно отнемаше време на поддръжката.

Ограничения

Трябваше да се обработват частични и пълни плащания и възстановявания при отказ от резервация, без да се губи статусът на плащане при повторни или закъснели webhook известия от шлюза.

Какво направих
  • Създаване на плащане при направата на резервация с предаване на сумата и предназначението
  • Приемане на webhook известия за плащане с проверка на подписа
  • Идемпотентна обработка на повторни известия — статусът на резервацията не се дублира и не „подскача“
  • Възстановявания при отказ от резервация със синхронизация на статуса
  • Сверяване „резервация ↔ плащане“ без ръчна работа на поддръжката
Архитектура
Резервация Платежен шлюз Webhook приемник Идемпотентен обработчик Статус на резервацията
Резултат

Плащането на резервация стана прозрачно: клиентът плаща на място при оформянето, статусът на резервацията се обновява автоматично, а поддръжката вече не сверява плащания ръчно.

Какво може да се преизползва
Идемпотентен обработчик на webhook от платежен шлюз Логика за частични плащания и възстановявания Сверяване на резервация и плащане без ръчна работа