diff --git a/app/cabinet/schemas/balance.py b/app/cabinet/schemas/balance.py index b150cfac..141c180f 100644 --- a/app/cabinet/schemas/balance.py +++ b/app/cabinet/schemas/balance.py @@ -81,3 +81,46 @@ class StarsInvoiceResponse(BaseModel): invoice_url: str stars_amount: int amount_kopeks: int + + +class PendingPaymentResponse(BaseModel): + """Pending payment details for manual verification.""" + id: int + method: str + method_display: str + identifier: str + amount_kopeks: int + amount_rubles: float + status: str + status_emoji: str + status_text: str + is_paid: bool + is_checkable: bool + created_at: datetime + expires_at: Optional[datetime] = None + payment_url: Optional[str] = None + user_id: Optional[int] = None + user_telegram_id: Optional[int] = None + user_username: Optional[str] = None + + class Config: + from_attributes = True + + +class PendingPaymentListResponse(BaseModel): + """Paginated list of pending payments.""" + items: List[PendingPaymentResponse] + total: int + page: int + per_page: int + pages: int + + +class ManualCheckResponse(BaseModel): + """Response after manual payment status check.""" + success: bool + message: str + payment: Optional[PendingPaymentResponse] = None + status_changed: bool = False + old_status: Optional[str] = None + new_status: Optional[str] = None