From d8db8e2c16a1c440b088725ceb98c26ca52b44d2 Mon Sep 17 00:00:00 2001 From: openit Date: Thu, 12 Mar 2026 10:49:09 +0000 Subject: [PATCH] Update paiments fix --- backend/api/routers/webhooks.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/api/routers/webhooks.py b/backend/api/routers/webhooks.py index 5bba3f6..fc01250 100644 --- a/backend/api/routers/webhooks.py +++ b/backend/api/routers/webhooks.py @@ -2,14 +2,13 @@ from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession -from core.rabbitmq import publish_ticket_paid_event from database.models import Ticket, TicketStatus from database.session import get_db from schemas.payment import PaymentWebhookRequest +from core.rabbitmq import publish_ticket_task # Оставили только правильный импорт router = APIRouter(prefix="/api/webhooks", tags=["webhooks"]) - @router.post("/payment", status_code=status.HTTP_200_OK) async def payment_webhook( body: PaymentWebhookRequest, @@ -24,7 +23,7 @@ async def payment_webhook( detail=f"Ticket {body.ticket_id} not found", ) - # Idempotency guard: повторный запрос с тем же ключом — возвращаем 200 без действий + # Idempotency guard if ticket.idempotency_key == body.idempotency_key: return {"detail": "Already processed"} @@ -38,6 +37,7 @@ async def payment_webhook( ticket.idempotency_key = body.idempotency_key await db.commit() - await publish_ticket_paid_event(ticket_id=ticket.id, user_id=ticket.user_id or 0) + # Вызываем нашу актуальную функцию отправки в очередь + await publish_ticket_task(ticket.id) - return {"detail": "Payment processed"} + return {"detail": "Payment processed"} \ No newline at end of file