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
|