Spaces:
Paused
Paused
File size: 1,055 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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 |