from pydantic import BaseModel from decimal import Decimal from datetime import datetime from typing import Optional from app.models.payment import PaymentStatus class PaymentInitiate(BaseModel): amount: Decimal description: Optional[str] = None class PaymentResponse(BaseModel): id: int user_id: int amount: Decimal transaction_ref: str status: PaymentStatus payment_method: Optional[str] = None description: Optional[str] = None created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True class PaystackInitiateResponse(BaseModel): authorization_url: str access_code: str reference: str