Интеграции · плащания · резервации
Онлайн плащане в платформа за резервации
Клиент:
NDA
Категория: Интеграции
Стек: PHP (собствен backend), платежен шлюз, webhook, опашки
Срок: 2–3 седмици
Проблем
Резервация без предплащане се превръщаше в проблем: част от клиентите не се явяваха, а сверяването на плащанията по всяка поръчка ръчно отнемаше време на поддръжката.
Ограничения
Трябваше да се обработват частични и пълни плащания и възстановявания при отказ от резервация, без да се губи статусът на плащане при повторни или закъснели webhook известия от шлюза.
Какво направих
- Създаване на плащане при направата на резервация с предаване на сумата и предназначението
- Приемане на webhook известия за плащане с проверка на подписа
- Идемпотентна обработка на повторни известия — статусът на резервацията не се дублира и не „подскача“
- Възстановявания при отказ от резервация със синхронизация на статуса
- Сверяване „резервация ↔ плащане“ без ръчна работа на поддръжката
Архитектура
Резервация
→ Платежен шлюз
→ Webhook приемник
→ Идемпотентен обработчик
→ Статус на резервацията
Резултат
Плащането на резервация стана прозрачно: клиентът плаща на място при оформянето, статусът на резервацията се обновява автоматично, а поддръжката вече не сверява плащания ръчно.
Какво може да се преизползва
Идемпотентен обработчик на webhook от платежен шлюз
Логика за частични плащания и възстановявания
Сверяване на резервация и плащане без ръчна работа