Spaces:
Paused
Paused
File size: 684 Bytes
5111c4b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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
|