diff --git a/endpoints/api.py b/endpoints/api.py index bac8d10c9..4d31518ef 100644 --- a/endpoints/api.py +++ b/endpoints/api.py @@ -1217,8 +1217,10 @@ def subscribe(user, plan, token, accepted_plans): cus = stripe.Customer.retrieve(user.stripe_id) if plan_found['price'] == 0: - cus.cancel_subscription() - cus.save() + if cus.subscription is not None: + # We only have to cancel the subscription if they actually have one + cus.cancel_subscription() + cus.save() response_json = { 'plan': plan,