Туристической компании требовалось автоматизировать оплату договоров без участия менеджера. Клиент должен был авторизоваться по номеру договора и телефону, увидеть данные по туру, стоимость, оплаченные суммы и актуальный остаток в рублях и валюте тура, а затем оплатить договор полностью или частями через СБП.
Разработал бота для Telegram и MAX на PHP 8.3 / Laravel с общей бизнес-логикой. Реализовал авторизацию туриста по номеру договора и телефону, привязку пользователя к договору, получение данных из U-ON Travel CRM, расчет остатка с учетом валюты тура, частичных оплат и курса туроператора.
Интегрировал API Точка Банка для создания платежных ссылок СБП и приема webhook-уведомлений об оплате. Подключил Ferma/ofd.ru для автоматической фискализации чеков с агентским признаком и данными туроператора. После подтверждения оплаты бот отправляет уведомление клиенту, формирует чек и записывает платеж обратно в CRM.
Проект развернут в Docker на Ubuntu-сервере с MariaDB, Nginx/Caddy и HTTPS. Добавлена защита от дублей webhook, повторной обработки платежей и ограничение времени приема оплат.
Получился автоматизированный платежный сценарий для туристической компании: клиент самостоятельно находит договор, видит актуальные данные по туру и задолженности, оплачивает через СБП и получает подтверждение с чеком. Менеджеру не нужно вручную создавать ссылку на оплату, проверять поступление, формировать чек и переносить оплату в CRM.
Бот поддерживает частичные оплаты, работу с валютой тура, актуальный курс туроператора, Telegram и MAX. Решение готово к дальнейшему сопровождению и масштабированию под новые каналы или дополнительные CRM-сценарии.