Skip to content

Commit 85e492a

Browse files
authored
Rzoea subs (#2794)
* Enhance the apps subcription styles * Clean up plugins/example/subscription/main.py
1 parent 717740c commit 85e492a

File tree

5 files changed

+253
-377
lines changed

5 files changed

+253
-377
lines changed

plugins/example/subscription/main.py

Lines changed: 3 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
})
344 KB
Loading
1.74 KB
Loading
1.07 KB
Loading

0 commit comments

Comments
 (0)