Максим Маслин mxmaslin Сбер ID
Бэкенд: боты, парсеры, интеграции, API, доработка чужого кода
Рейтинг
7 460
№ 169 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Москва
Опыт работы
9 лет
На сайте с
2026 года
Юридический статус
Самозанятый

Финтех-бэкенд: JWT-роли, личный кабинет, защищённые webhook'и платёжного провайдера

Используемые навыки PostgreSQL Python

Описание

B2C-сервис со счетами пользователей: пользователь видит профиль, счета и историю платежей, администратор управляет аккаунтами, внешний провайдер присылает подписанные webhook'и о пополнениях. Требования: подпись проверяется до записи в БД, повторный webhook не зачисляет деньги дважды, эндпоинт защищён от перебора.

Решение

Асинхронный бэкенд на Sanic и SQLAlchemy 2.0. JWT с ролями user и admin. Webhook: проверка SHA256-подписи, идемпотентность по transaction_id, атомарное зачисление на баланс в одной транзакции, rate limit 10 запросов в минуту на IP. Use case'ы не зависят от фреймворка и тестируются отдельно от HTTP.

Результат

Поддельный или повторный webhook отбрасывается до касания базы. Домен и бизнес-логика покрыты тестами без поднятия сервера. Схема подходит для любого приёма событий от внешних систем: платёжки, службы доставки, телефония.

Оценили проект:

Другие проекты

Все проекты →
ИИ и Нейросети Ассистент для видеозвонков: локальное распознавание речи и ответы LLM по hotkey (macOS)
Ассистент для видеозвонков: локальное распознавание речи и ответы LLM по hotkey (macOS)
20
Веб-разработка и IT Сервис приёма платежей: асинхронная обработка, outbox, идемпотентность, DLQ
Сервис приёма платежей: асинхронная обработка, outbox, идемпотентность, DLQ
9
Веб-разработка и IT API каталога и полнотекстового поиска: MongoDB + Elasticsearch + CI
API каталога и полнотекстового поиска: MongoDB + Elasticsearch + CI
13
Веб-разработка и IT Парсер маркетплейса с LLM-классификацией и выгрузкой лидов в AmoCRM
Парсер маркетплейса с LLM-классификацией и выгрузкой лидов в AmoCRM
21