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

harrysohie's avatar

Issue with Spark Team Billing without trial

I have found that it is impossible for a user to register if I only have team plans, no free plan, and no trial days.

Here is my SparkServiceProvider booted method:

''' public function booted() { Spark::useStripe();

    Spark::teamPlan('Startup', 'test-startup')
        ->price(49)
        ->maxTeams(1)
        ->features([
            'First', 'Second', 'Third'
        ]);

    Spark::teamPlan('Small Business', 'test-smallbusiness')
        ->price(69)
        ->maxTeams(1)
        ->features([
            'First', 'Second', 'Third'
        ]);

    Spark::teamPlan('Enterprise', 'test-enterprise')
        ->price(89)
        ->maxTeams(1)
        ->features([
            'First', 'Second', 'Third'
        ]);
}

'''

When I go to the registration page, there are no plans visible, just the standard registration form. When I try to register, it fails because there is no plan selected. In the console, I get:

''' Uncaught TypeError: Cannot read property 'price' of null '''

''' if (!Spark.cardUpFront || this.selectedPlan.price == 0) { return this.sendRegistration(); } '''

It looks like app.js is trying to read the price of the selected plan, but no plans appear so there cannot be a selected plan. Is this a bug or am I missing something? Why do teamPlans not show when a user is trying to register?

0 likes
5 replies
chammond's avatar

Were you able to figure this out? I seem to be having the same issue. Thanks!

harrysohie's avatar

Yes, It is a limitation of spark currently. Its not possible to require a card up front for team billing. Hopefully it will be updated to allow this.

1 like
spaceage's avatar

@harrysohie Curious if you are aware of any update coming for this issue, or if you have discovered any workaround?

harrysohie's avatar

I emailed taylor about it a while back and he said it would be included in an update, but i gave up on spark and rolled my own solution so im not sure if that ever happened.

Please or to participate in this conversation.