Add subcription feature 2
This commit is contained in:
@@ -78,6 +78,20 @@ class TokenResponse(BaseModel):
|
||||
expires_in: int = 3600 # seconds
|
||||
user: Optional[UserData] = None
|
||||
subscription_id: Optional[str] = Field(None, description="Subscription ID if created during registration")
|
||||
# Payment action fields (3DS, SetupIntent, etc.)
|
||||
requires_action: Optional[bool] = Field(None, description="Whether payment action is required (3DS, SetupIntent confirmation)")
|
||||
action_type: Optional[str] = Field(None, description="Type of action required (setup_intent_confirmation, payment_intent_confirmation)")
|
||||
client_secret: Optional[str] = Field(None, description="Client secret for payment confirmation")
|
||||
payment_intent_id: Optional[str] = Field(None, description="Payment intent ID for 3DS authentication")
|
||||
setup_intent_id: Optional[str] = Field(None, description="SetupIntent ID for payment method verification")
|
||||
customer_id: Optional[str] = Field(None, description="Stripe customer ID")
|
||||
# Additional fields for post-confirmation subscription completion
|
||||
plan_id: Optional[str] = Field(None, description="Subscription plan ID")
|
||||
payment_method_id: Optional[str] = Field(None, description="Payment method ID")
|
||||
trial_period_days: Optional[int] = Field(None, description="Trial period in days")
|
||||
user_id: Optional[str] = Field(None, description="User ID for post-confirmation processing")
|
||||
billing_interval: Optional[str] = Field(None, description="Billing interval (monthly, yearly)")
|
||||
message: Optional[str] = Field(None, description="Additional message about payment action required")
|
||||
|
||||
class Config:
|
||||
schema_extra = {
|
||||
@@ -95,7 +109,13 @@ class TokenResponse(BaseModel):
|
||||
"created_at": "2025-07-22T10:00:00Z",
|
||||
"role": "user"
|
||||
},
|
||||
"subscription_id": "sub_1234567890"
|
||||
"subscription_id": "sub_1234567890",
|
||||
"requires_action": True,
|
||||
"action_type": "setup_intent_confirmation",
|
||||
"client_secret": "seti_1234_secret_5678",
|
||||
"payment_intent_id": None,
|
||||
"setup_intent_id": "seti_1234567890",
|
||||
"customer_id": "cus_1234567890"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user