Desk-Back2 / app /models /payments.py
Fred808's picture
Upload 77 files
5111c4b verified
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
from decimal import Decimal
from enum import Enum
class PaymentMethod(str, Enum):
CASH = "cash"
CREDIT_CARD = "credit_card"
DEBIT_CARD = "debit_card"
MOBILE_PAYMENT = "mobile_payment"
class PaymentStatus(str, Enum):
PENDING = "pending"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
REFUNDED = "refunded"
class PaymentSession(BaseModel):
id: str
order_id: int
amount: Decimal
payment_method: PaymentMethod
status: PaymentStatus
created_at: datetime
class PaymentVerification(BaseModel):
payment_id: str
verification_code: str
status: PaymentStatus
message: Optional[str] = None
class Transaction(BaseModel):
id: str
order_id: int
amount: Decimal
payment_method: PaymentMethod
status: PaymentStatus
created_at: datetime
updated_at: Optional[datetime] = None
reference_id: Optional[str] = None