Техническое задание: Настройка сохранения данных в Telegram-боте

Существует рабочий Telegram-бот с реализованной системой приёма платежей. Требуется доработать его архитектуру для обеспечения сохранности критически важных данных.

Основная задача

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

Требования к реализации

  • Интегрировать механизм постоянного хранения данных о платежах клиентов.
  • Выбрать и настроить подходящее решение (например, базу данных SQLite, PostgreSQL или иное).
  • Обеспечить корректное чтение и запись данных при каждом платеже.
  • Гарантировать, что существующий функционал оплаты останется работоспособным.
  • Предоставить краткую документацию по внесённым изменениям.

Исходные условия

  • Бот написан на Python (используются библиотеки aiogram, pyTelegramBotAPI или аналоги).
  • Логика приёма платежей (через ЮKassa, CloudPayments, Telegram Stars или иной шлюз) уже реализована и работает.
  • Текущий код не сохраняет данные о платежах между сессиями или делает это нестабильно.

Цель работы - сделать хранение данных об оплатах отказоустойчивым и независимым от состояния работы самого бота.