feat: add mpre endpoints

This commit is contained in:
2026-05-11 19:04:39 +03:00
parent 42fcfbff34
commit 489c9cb2da
18 changed files with 691 additions and 75 deletions

View File

@@ -1,6 +1,6 @@
from decimal import Decimal
from pydantic import BaseModel,Field
from src.application.domain.enums import OrderStatus
from src.application.domain.enums import OrderStatus,PaymentStatus
class CreateOrder(BaseModel):
@@ -34,11 +34,82 @@ class OrderPaymentResponse(BaseModel):
itpay_created_at: str | None = None
class PaymentResponse(BaseModel):
id: str | None = None
created_at: str | None = None
updated_at: str | None = None
user_id: str | None = None
order_id: str | None = None
status: PaymentStatus | None = None
receipt_cloudekassir_id: str | None = None
receipt_cloudekassir_link: str | None = None
itpay_payment_id: str | None = None
itpay_paid_amount: str | None = None
transaction_id: str | None = None
web3_transaction_hash: str | None = None
paid_at: str | None = None
expired_date: str | None = None
class CreateOrderResponse(BaseModel):
status_code: int
order: OrderPaymentResponse
class PaymentConfigResponse(BaseModel):
status_code: int
usdt_exchange_rate: str
gas_fee: str
service_fee_rate: str
one_usdt_service_fee: str
one_usdt_total_price: str
created_at: str
class PaymentQuoteResponse(BaseModel):
status_code: int
usdt_amount: str
usdt_exchange_rate: str
gas_fee: str
service_fee: str
total_price: str
service_fee_rate: str
created_at: str
class OrderWithPaymentResponse(BaseModel):
order: OrderPaymentResponse
payment: PaymentResponse | None = None
class OrderDetailResponse(OrderWithPaymentResponse):
status_code: int
class OrdersResponse(BaseModel):
status_code: int
orders: list[OrderWithPaymentResponse]
limit: int
offset: int
class PaymentsResponse(BaseModel):
status_code: int
payments: list[PaymentResponse]
limit: int
offset: int
class OrderStatusResponse(BaseModel):
status_code: int
order_id: str
order_status: OrderStatus | None = None
payment_status: PaymentStatus | None = None
receipt_cloudekassir_link: str | None = None
web3_transaction_hash: str | None = None
updated_at: str | None = None
class ErrorResponse(BaseModel):
detail: str
status_code: int