Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

danmatthews's avatar

Can you constrain free plans to max users?

I'm currently trying to add a FREE plan to my app that users can select when they're approaching the end of their trial:

Spark::freeTeamPlan()
            ->maxTeamMembers(5)
            ->features([
                'One Location',
                'Up to 5 team members',
                '1 Location',
                'Up to 10 tasks',
            ]);

But the problem is:

Firstly - It doesn't appear to show if you're on a trial:

list

Secondly - Switching to a free plan seems to bypass eligibility checks in Spark::checkTeamPlanEligibilityUsing() - which means that people with a LOT of team members can subscribe to the free plan.

0 likes
6 replies
vmitchell85's avatar

I'll create a quick test app and check this out. I do know there is no indication of being on a trial though.

1 like
danmatthews's avatar

I've found a few other threads where people are talking about the problem of spark not considering free plans (even plans registered normally with a ->price(0) as being 'proper' plans.

vmitchell85's avatar

With a vanilla Spark install I set it up like this:

Spark::useStripe()->noCardUpFront()->teamTrialDays(10);

        Spark::freeTeamPlan()
            ->maxTeamMembers(1)
            ->features([
                'First', 'Second', 'Third'
            ]);

        Spark::teamPlan('Basic', 'provider-id-1')
            ->price(10)
            ->features([
                'First', 'Second', 'Third'
            ]);

And when I tried to invite another person to the team it denied me. I think it's defaulting to the free plan for the trial, so existing users on the trial are probably not under the same rules as new members.

If you create a new user under the trial can you add more than 5 users?

vmitchell85's avatar

I also added a plan with a price of 0 and it doesn't even show up as a plan.

vmitchell85's avatar
Level 10

Oh interesting... if I require a card up front then the free plans show. Whether it's freeTeamPlan or price(0).

1 like
danmatthews's avatar

That's....strange. Maybe i'll have to take a look at manipulating the view logic to show them.

Thanks for checking that out!

1 like

Please or to participate in this conversation.