| # stripe_checkout.py | |
| import os | |
| import stripe | |
| stripe.api_key = os.getenv("STRIPE_API_KEY") | |
| PRICE_ID = os.getenv("PRICE_ID") | |
| SUCCESS_URL = os.getenv("SUCCESS_URL") | |
| CANCEL_URL = os.getenv("CANCEL_URL") | |
| if not all([PRICE_ID, SUCCESS_URL, CANCEL_URL]): | |
| raise RuntimeError("β PRICE_ID, SUCCESS_URL or CANCEL_URL missing in secrets") | |
| def create_stripe_session(): | |
| session = stripe.checkout.Session.create( | |
| payment_method_types=["card"], | |
| line_items=[{ | |
| "price": PRICE_ID, # β Use your recurring Price ID | |
| "quantity": 1, | |
| }], | |
| mode="subscription", | |
| success_url=SUCCESS_URL, | |
| cancel_url=CANCEL_URL, | |
| ) | |
| return session.url | |