@@ -28,86 +28,12 @@ async def subscription_page(request: Request, uid: str = ""):
2828 logger .info (f"Subscription page accessed with UID: { uid } " )
2929 else :
3030 logger .warning ("Subscription page accessed without UID" )
31-
31+
3232 return templates .TemplateResponse (
33- "subscription/index.html" ,
33+ "subscription/index.html" ,
3434 {
35- "request" : request ,
35+ "request" : request ,
3636 "uid" : uid ,
3737 "page_title" : "Upgrade to Unlimited"
3838 }
3939 )
40-
41- @router .get ("/redirect/monthly" , response_class = RedirectResponse )
42- async def redirect_to_monthly_payment (uid : str = "" ):
43- """
44- Redirects to Stripe payment for monthly plan
45- """
46- try :
47- if not uid or uid .strip () == "" :
48- logger .warning ("Monthly payment redirect attempted without UID" )
49- return RedirectResponse (
50- url = "/subscription?error=missing_uid" ,
51- status_code = 302
52- )
53-
54- logger .info (f"Redirecting to monthly payment with UID: { uid } " )
55-
56- # Encode the UID for URL safety
57- encoded_uid = quote (uid .strip ())
58-
59- # Monthly plan Stripe URL
60- stripe_url = f"https://buy.stripe.com/bJedR1bG4bpcbwiahI6wE1G?client_reference_id={ encoded_uid } "
61- return RedirectResponse (
62- url = stripe_url ,
63- status_code = 302
64- )
65- except Exception as e :
66- logger .error (f"Error in monthly payment redirect: { str (e )} " )
67- return RedirectResponse (
68- url = "/subscription?error=redirect_failed" ,
69- status_code = 302
70- )
71-
72- @router .get ("/redirect/annual" , response_class = RedirectResponse )
73- async def redirect_to_annual_payment (uid : str = "" ):
74- """
75- Redirects to Stripe payment for annual plan
76- """
77- try :
78- if not uid or uid .strip () == "" :
79- logger .warning ("Annual payment redirect attempted without UID" )
80- return RedirectResponse (
81- url = "/subscription?error=missing_uid" ,
82- status_code = 302
83- )
84-
85- logger .info (f"Redirecting to annual payment with UID: { uid } " )
86-
87- # Encode the UID for URL safety
88- encoded_uid = quote (uid .strip ())
89-
90- # Annual plan Stripe URL (using same URL for demo, you can change this)
91- stripe_url = f"https://buy.stripe.com/bJedR1bG4bpcbwiahI6wE1G?client_reference_id={ encoded_uid } "
92- return RedirectResponse (
93- url = stripe_url ,
94- status_code = 302
95- )
96- except Exception as e :
97- logger .error (f"Error in annual payment redirect: { str (e )} " )
98- return RedirectResponse (
99- url = "/subscription?error=redirect_failed" ,
100- status_code = 302
101- )
102-
103- @router .get ("/stats" , response_class = JSONResponse )
104- async def get_subscription_stats (request : Request ):
105- """
106- Returns subscription statistics
107- Admin-only endpoint
108- """
109- return JSONResponse ({
110- "status" : "success" ,
111- "timestamp" : datetime .now ().isoformat (),
112- "message" : "Subscription stats endpoint is working"
113- })
0 commit comments