diff --git a/manage_subscriptions/views.py b/manage_subscriptions/views.py index 7c59d0e..c76159b 100644 --- a/manage_subscriptions/views.py +++ b/manage_subscriptions/views.py @@ -119,7 +119,11 @@ class SubscriptionCreateOrUpdateView(LoginRequiredMixin, generic.View): def handle_stripe_price(self, form): try: stripe.api_key = settings.STRIPE_SECRET_KEY - stripe_product_id = form.instance.stripe_product.product_id if form.instance.stripe_product else None + stripe_product_id = ( + form.instance.stripe_product.product_id + if form.instance.stripe_product + else None + ) # creating Stripe price only if the subscription is not free if not form.cleaned_data.get("is_free") and stripe_product_id: # Getting Stripe Product ID @@ -766,6 +770,11 @@ def create_checkout_session(request): } ] session_data["mode"] = "subscription" + session_data["invoice_creation"] = { + "invoice_data": { + "metadata": session_data["metadata"], + } + } else: session_data["line_items"] = [ { @@ -781,12 +790,6 @@ def create_checkout_session(request): } ] session_data["mode"] = "payment" - session_data["invoice_creation"] = { - "enabled": True, - "invoice_data": { - "metadata": session_data["metadata"], - } - } checkout_session = stripe.checkout.Session.create(**session_data) return JsonResponse({"sessionId": checkout_session["id"]}) except Exception as e: