Задача

Разработать интеграцию с платежным агрегатором для приёма платежей от клиентов. Взаимодействие должно происходить исключительно через сторонний сервис (hosted-форма) - ваш сервер не должен принимать реквизиты карт (безопасность по PCI DSS).

Функциональные требования

1. Аутентификация

  • Использовать Public ID (идентификатор магазина) и API Secret (секретный ключ). 
  • Переключение между тестовым и боевым окружением через одну конфигурационную переменную.

2. Функция генерации платежной ссылки

Написать функцию, которая на вход принимает:

  • Сумму заказа
  • Уникальный номер заказа
  • Email клиента (для отправки электронного чека)
  • Краткое описание услуги или товара

Функция должна возвращать готовую ссылку формата «https://...оплата/…», при переходе на которую пользователь попадает на hosted-форму платежного агрегатора.

3. Обработка вебхуков (уведомлений о платежах)

  • Принять уведомление от платежного агрегатора по факту успешной оплаты.
  • Проверить подпись через заголовок Content-HMAC - защита от подделки запросов.
  • Обновить статус заказа во внутренней системе.

4. Тестовый режим

  • Возможность переключать интеграцию между рабочим (продакшн) и тестовым режимом с помощью одного флага/конфига (например «TEST_MODE = True»).
  • В тестовом режиме использовать тестовую учетную запись (test account) и тестовые ключи. 

Дополнительно

Код должен быть написан так, чтобы не использовались названия конкретных компаний, сайтов, телефонов или email. Вся конфиденциальная информация - в переменных окружения.

Преобразование сайта в PWA-приложение

Требуется создать прогрессивное веб-приложение на основе существующего сайта. Необходимо настроить работу для мобильных платформ и реализовать требуемый функционал.