"""支付模块 Pydantic 模型定义(从 payment 迁入 app)""" from typing import 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