Backend сервис для обработки платежей и управления балансом организаций.
- Обработка входящих webhook-ов от банка
- Начисление средств на баланс организации по ИНН
- Ведение истории изменений баланса
- Защита от дублирования платежей
- Python 3.9
- Django 4.2.17
- Django REST Framework
- SQLite (для разработки)
- MySQL (для прода)
Принимает webhook от банка с информацией о платеже:
{
"operation_id": "ccf0a86d-041b-4991-bcf7-e2352f7b8a4a",
"amount": 145000,
"payer_inn": "1234567890",
"document_number": "PAY-328",
"document_date": "2024-04-27T21:00:00Z"
}Возвращает текущий баланс организации по ИНН:
{
"inn": "1234567890",
"balance": 145000
}models.py- модели данных (Organization, Payment, BalanceChange)views.py- обработчики API запросовserializers.py- сериализаторы для валидации данныхurls.py- маршрутизация запросов
- Создать виртуальное окружение:
python -m venv venv
.\venv\Scripts\Activate.ps1- Установить зависимости:
pip install -r requirements.txt- Применить миграции:
python manage.py migrate- Запустить сервер:
python manage.py runserver