Skip to main content

Обзор архитектуры

Love&Pay построен на современном технологическом стеке, обеспечивающем высокую производительность, надёжность и безопасность платёжных операций.

Redis

Высокоскоростное кэширование данных

Hangfire

Надёжные фоновые задачи и очереди

Логирование

Полная запись всех операций

Аудит

Автоматический контроль действий

Кэширование (Redis)

Мы используем Redis для кэширования данных, что обеспечивает:
  • Мгновенный доступ к часто запрашиваемым данным
  • Снижение нагрузки на основную базу данных
  • Высокую доступность сервиса даже при пиковых нагрузках
Благодаря Redis, повторные запросы к API обрабатываются в несколько раз быстрее.

Что кэшируется

ДанныеВремя жизни кэша
Информация о счетахДо изменения статуса
Данные партнёра5 минут
Курсы валют1 минута
Сессии KYCДо завершения

Очереди задач (Hangfire)

Для обработки фоновых задач используется Hangfire — надёжная система очередей с гарантированной доставкой.

Типы фоновых задач

Автоматическая проверка оплаты счетов через СБП с адаптивной периодичностью.
Гарантированная доставка уведомлений с повторными попытками при ошибках.
Автоматическое изменение статуса на EXPIRED по истечении времени.
Обработка результатов проверки документов.

Проверка платежей

Система автоматически проверяет статус каждого счёта с адаптивной периодичностью:
1

Первые 5 минут

Проверка каждые 30 секунд — для быстрого подтверждения платежей
2

После 5 минут

Проверка каждые 2 минуты — экономия ресурсов при длительном ожидании
3

Остановка проверки

Проверка прекращается когда:
  • Счёт оплачен (статус PAID)
  • Счёт истёк (статус EXPIRED)
  • Статус изменился на любой кроме PENDING

Истечение счёта

Через 1 час после создания счёт автоматически получает статус EXPIRED. После этого оплата по нему невозможна.
При истечении счёта:
  1. ExpireWorker меняет статус на EXPIRED
  2. Отправляется вебхук партнёру с событием INVOICE_EXPIRED
  3. QR-код становится недействительным

Логирование

Все запросы к API и действия в системе полностью логируются:

API запросы

Метод, URL, параметры, время ответа, IP адрес

Платёжные операции

Создание счетов, изменение статусов, транзакции

Действия пользователей

Вход в систему, изменение настроек, управление ключами

Системные события

Ошибки, предупреждения, информационные сообщения

Что записывается

{
  "timestamp": "2024-01-15T10:30:00.000Z",
  "level": "INFO",
  "action": "INVOICE_CREATED",
  "partnerId": "partner-uuid",
  "userId": "user-uuid",
  "ip": "192.168.1.1",
  "userAgent": "MyApp/1.0",
  "request": {
    "method": "POST",
    "path": "/api/v1/invoices",
    "duration": 45
  },
  "data": {
    "invoiceId": "inv-uuid",
    "amount": 150000
  }
}

Автоматический аудит

Система проводит автоматический аудит всех действий для обеспечения безопасности и соответствия требованиям.

Что отслеживается

КатегорияДействия
БезопасностьПопытки входа, смена паролей, подозрительная активность
API ключиСоздание, удаление, использование, блокировки
ФинансыВсе платёжные операции, изменения статусов
ДанныеИзменения настроек, экспорт данных
ДоступКто, когда и откуда обращался к системе

Преимущества аудита

Безопасность

Быстрое обнаружение подозрительной активности

Прозрачность

Полная история всех операций

Соответствие

Выполнение требований регуляторов
Логи хранятся в защищённом хранилище и доступны для анализа в случае необходимости. При возникновении спорных ситуаций мы можем предоставить детальную информацию о любой операции.

Мониторинг

Мы круглосуточно мониторим:
  • Доступность всех сервисов
  • Время ответа API
  • Очереди задач Hangfire
  • Использование Redis кэша
  • Аномальную активность

Есть вопросы?

Напишите нам в онлайн-чат на loveandpay.io — мы расскажем подробнее о нашей инфраструктуре.