/
CYKA
/
RussianStocks_AI
Обзор
Документация
Войти
/
CYKA
/
RussianStocks_AI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
webhook.py
31 строка
1 KB
Amato
Add files via upload
15 авг 2025, 10:17
Не верифицирован
15 авг 2025, 10:17
8020167
Код
Авторство
О чём код?
from fastapi import FastAPI, Request import logging from app import update_premium_user app = FastAPI() logger = logging.getLogger(__name__) logging.basicConfig( filename='market_analyzer.log', level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', encoding='utf-8' ) @app.post("/webhook") async def webhook(request: Request): try: payload = await request.json() logger.info(f"Webhook received: {payload}") if payload.get("event") == "payment.succeeded": email = payload.get("object", {}).get("metadata", {}).get("email") payment_id = payload.get("object", {}).get("id") if email and payment_id: success = update_premium_user(email, payment_id) if success: logger.info(f"Subscription updated for {email} with payment_id {payment_id}") else: logger.error(f"Failed to update subscription for {email}") return {"status": "ok"} except Exception as e: logger.error(f"Webhook error: {str(e)}") return {"status": "error"}