Desk-Back2 / app /models /payment.py
Fred808's picture
Upload 77 files
5111c4b verified
from enum import Enum
from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional
class PaymentMethod(str, Enum):
CASH = "cash"
CARD = "card"
class PaymentStatus(str, Enum):
PENDING = "pending"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
class Payment(BaseModel):
id: Optional[int] = None
order_id: int
amount: float = Field(..., gt=0)
method: PaymentMethod
status: PaymentStatus = PaymentStatus.PENDING
transaction_id: Optional[str] = None
created_at: datetime = Field(default_factory=datetime.utcnow)
updated_at: Optional[datetime] = None