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

mstfydmr's avatar

Spark - Set trial days for only one plan

Hi.

I have a SaaS product that written with Laravel Spark. The site has 4 plans. There is no free plan.

Plans: Basic, Lite, Pro, Enterprise

I set trial days for only Basic plan.

But, If a user registers to Basic plan with trial mode. After registration, the user can upgrade to any plan he wants.

If the user wants to upgrade the plan, I want him to have to pay money.

I mean - I want that the trial mode is only valid for the Basic plan.

Can I do this with Spark settings?

0 likes
1 reply
Braunson's avatar

You can specify the trial days in three ways in Laravek Spark

  1. Per plan
    Spark::plan('Basic', 'team-basic')
        ->price(10)
        ->trialDays(10)
        ->features([
            'Five Team Members',
            'Feature 2',
            'Feature 3',
        ]);
    
  2. Globally

    Spark::noCardUpFront()->trialDays(10); (or teamTrialDays() depending on what you have setup)

  3. Both

You can apply ->trialDays(10) to the plan definition itself OR you can define it globally on the Spark class.

See https://spark.laravel.com/docs/10.0/billing near No Credit Card Up Front.

Please or to participate in this conversation.