Техническое задание: Backend на Node.js (Express)
Общие требования
Необходимо разработать серверную часть приложения на Node.js + Express. Фронтенд-часть (внешний вид пользовательских страниц) изменять не требуется (условно считается уже готовой или не входит в рамки задачи). Файл .env и ключи доступа в задании не предоставляются.
1. Настройка оплаты через платежную систему
- Интеграция платёжного шлюза без использования официального SDK, только через прямые HTTP-запросы к API выбранной платёжной системы (в задании была указана YooKassa, переименовавазвание) .
- После формирования платежа пользователь должен быть перенаправлен (редирект) на страницу оплаты.
- Подтверждение платежа проводится по стандартному протоколу (обработка уведомлений от системы).
2. Серверные промокоды (купоны на скидку)
- Промокоды являются одноразовыми.
- На каждый активированный промокод установлен «резерв» в 5 минут (время между генерацией и применением скидки).
- Расчёт стоимости со скидкой производится исключительно на серверной стороне.
- Логика проверки и применения кодов не должна быть реализована в коде клиента (браузера).
3. Уведомления в Telegram
- При создании нового заказа система отправляет боту сообщение в Telegram.
- Помимо данных о заказе (состав, стоимость, контакты), уведомление должно содержать итоговый статус оплаты.
- Не требуется автосинхронизация чата или создание админки; требуется стабильная отправка постороении oberi.