from flask import Blueprint, request, jsonify import os, stripe stripe_bp = Blueprint("stripe", __name__) stripe.api_key = os.getenv("STRIPE_SECRET_KEY") @stripe_bp.route('/create-checkout-session', methods=['POST']) def create_checkout_session(): """ Creates the stripe checkout session """ print("Creating checkout session") try: session = stripe.checkout.Session.create( ui_mode = 'embedded', payment_method_types=['card'], line_items=[ { 'price': 'price_1QikNCGk6yuk3uA86mZf3dmM', #Subscription ID 'quantity': 1, }, ], mode='subscription', redirect_on_completion = 'never' ) except Exception as e: print(e) return str(e) return jsonify(clientSecret=session.client_secret) @stripe_bp.route('/session-status') # check for payment status def session_status(): """ Used to query payment status """ session = stripe.checkout.Session.retrieve(request.args.get('session_id')) return jsonify(status=session.status, customer_email=session.customer_details.email)