69 lines
1.5 KiB
Python
69 lines
1.5 KiB
Python
"""支付模块 Pydantic 模型定义(从 payment 迁入 app)"""
|
||
from typing import Any, Dict, Optional
|
||
|
||
from pydantic import BaseModel
|
||
|
||
|
||
class PaymentResult(BaseModel):
|
||
success: bool
|
||
payment_method: str
|
||
out_trade_no: str
|
||
wechat_params: Optional[Dict[str, str]] = None
|
||
alipay_order_string: Optional[str] = None
|
||
error_message: Optional[str] = None
|
||
|
||
|
||
class NotifyResult(BaseModel):
|
||
success: bool
|
||
out_trade_no: Optional[str] = None
|
||
trade_no: Optional[str] = None
|
||
total_amount: Optional[int] = None
|
||
trade_status: Optional[str] = None
|
||
error_message: Optional[str] = None
|
||
|
||
|
||
class PaymentStatus(BaseModel):
|
||
success: bool
|
||
out_trade_no: str
|
||
trade_no: Optional[str] = None
|
||
trade_status: str
|
||
total_amount: Optional[int] = None
|
||
error_message: Optional[str] = None
|
||
|
||
|
||
class CreateOrderRequest(BaseModel):
|
||
plan_id: str
|
||
payment_method: str
|
||
|
||
|
||
class CreateOrderResponse(BaseModel):
|
||
order_id: str
|
||
payment_method: str
|
||
wechat_params: Optional[Dict[str, str]] = None
|
||
alipay_order_string: Optional[str] = None
|
||
|
||
|
||
class OrderStatusResponse(BaseModel):
|
||
order_id: str
|
||
plan_id: str
|
||
plan_name: str
|
||
amount: int
|
||
currency: str
|
||
payment_method: str
|
||
status: str
|
||
trade_no: Optional[str] = None
|
||
created_at: str
|
||
paid_at: Optional[str] = None
|
||
|
||
|
||
class OrderListResponse(BaseModel):
|
||
id: str
|
||
plan_id: str
|
||
plan_name: str
|
||
amount: int
|
||
currency: str
|
||
status: str
|
||
payment_method: str
|
||
created_at: str
|
||
paid_at: Optional[str] = None
|