feat(subscription): добавлены новые функции для управления тарифами и трафиком

- Обновлены схемы и маршруты для поддержки покупки тарифов и управления трафиком.
- Реализована синхронизация тарифов и серверов из RemnaWave при запуске.
- Добавлены новые параметры в тарифы: server_traffic_limits и allow_traffic_topup.
- Обновлены настройки и логика для проверки доступности докупки трафика в зависимости от тарифа.
- Внедрены новые эндпоинты для работы с колесом удачи и обработка платежей через Stars.

Обновлён .env.example с новыми параметрами для режима продаж подписок.
This commit is contained in:
PEDZEO
2026-01-12 07:41:10 +03:00
parent 805e3847b9
commit 0e24a5505c
37 changed files with 5722 additions and 80 deletions
+6 -4
View File
@@ -1297,10 +1297,11 @@ async def create_payment_link(
if not result:
raise HTTPException(status.HTTP_502_BAD_GATEWAY, detail="Failed to create payment")
# Priority: web_app for desktop/browser, mini_app for mobile, bot as fallback
payment_url = (
result.get("bot_invoice_url")
result.get("web_app_invoice_url")
or result.get("mini_app_invoice_url")
or result.get("web_app_invoice_url")
or result.get("bot_invoice_url")
)
if not payment_url:
raise HTTPException(status.HTTP_502_BAD_GATEWAY, detail="Failed to obtain payment url")
@@ -5257,10 +5258,11 @@ async def submit_subscription_renewal_endpoint(
detail={"code": "payment_creation_failed", "message": "Failed to create payment"},
)
# Priority: web_app for desktop/browser, mini_app for mobile, bot as fallback
payment_url = (
result.get("mini_app_invoice_url")
result.get("web_app_invoice_url")
or result.get("mini_app_invoice_url")
or result.get("bot_invoice_url")
or result.get("web_app_invoice_url")
)
if not payment_url:
raise HTTPException(