Общая задача
Разработать и внедрить систему онлайн-оплаты в проект через два платежных провайдера. Первоначально планируется подключение:
- Первый сервис - СБП (российская система быстрых платежей).
- Второй сервис - «Твои платежи».
Как должна работать система (полный цикл)
1. Выбор способа оплаты
- Пользователь в интерфейсе проекта выбирает один из двух доступных методов оплаты.
- В зависимости от выбора вызывается соответствующий провайдер.
2. Инициация платежа
- Формируется запрос на оплату с передачей проекта, суммы, валюты и уникального ID.
- Запрос отправляется в нужный платежный сервис.
3. Получение платежной ссылки или формы
- Платежный шлюз возвращает URL для перехода пользователя или внедряет кнопку оплаты.
4. Перенаправление пользователя
- Пользователь переходит на страницу оплаты или в окно банковского приложения (для СБП через QR-код).
5. Оплата и обработка результата
- Пользователь совершает оплату.
1 минута (для СБП): деньги приходят мгновенно или в течение короткого времени. - Платежный шлюз присылает уведомление/callback (webhook) о статусе операции.
6. Завершение платежа в проекте
- В бэкенд-части фиксируется:
- Статус (успех / неуспех / ожидание).
- Детали транзакции.
- Дата и время.
- После подтверждения «успешно» - обновляется баланс или начисляется услуга, товар.
- Если платеж не прошел - пользователю показывается ошибка.
Технические моменты
- Интеграция через API провайдеров (REST/JSON).
- Необходимо предусмотреть обработку пакетов callback-ов, обновление данных в РС в реальном времени.
- Валидация сумм, валюты, уникальных ID.
- Поддержка возможности переключения между провайдерами без доработки основной логики.
- Желательно реализовать тестовый режим для каждого шлюза перед запуском в продакшн.
Ожидаемый результат
Работающая двух-провайдерская система приёма платежей, готовая к интеграции в существующий проект, с полной документацией схем взаимодействия (логика платежа, callback’и, обработка ошибок).