Spaces:
Paused
Paused
| 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 |