from fastapi import APIRouter, HTTPException, status, Depends from app.services.payment_service import PaymentService from app.models.payment import Payment, PaymentStatus router = APIRouter() @router.post("/", response_model=Payment, status_code=status.HTTP_201_CREATED) async def process_payment( payment: Payment, service: PaymentService = Depends(PaymentService) ): return await service.process_payment(payment) @router.get("/{payment_id}", response_model=Payment) async def get_payment( payment_id: int, service: PaymentService = Depends(PaymentService) ): return await service.get_payment(payment_id) @router.put("/{payment_id}/status", response_model=Payment) async def update_payment_status( payment_id: int, status: PaymentStatus, service: PaymentService = Depends(PaymentService) ): return await service.update_status(payment_id, status)