Максим Маслин › mxmaslin Сбер ID
Бэкенд: боты, парсеры, интеграции, API, доработка чужого кода
Рейтинг
7 810
№ 162 в каталоге
Отзывы
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 отбрасывается до касания базы. Домен и бизнес-логика покрыты тестами без поднятия сервера. Схема подходит для любого приёма событий от внешних систем: платёжки, службы доставки, телефония.

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

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

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