Level 16
Same issue here.
And I guess it is not a bug but done this way by design. As I see it, Taylor assumes that anyone who has not a plan in the database is on the free plan.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
For reference I'm using Laravel Spark dev-master 26eca8d.
I have 4 subscription plans with 3 paid for and 1 free:
From SparkServiceProvider.php
Spark::plan('Bronze', '1')->price(15)
->trialDays(7)
->currencySymbol('£')
->features([
//
]);
Spark::plan('Silver', '2')->price(20)
->trialDays(7)
->currencySymbol('£')
->features([
//
]);
Spark::plan('Gold', '3')->price(25)
->trialDays(7)
->currencySymbol('£')
->features([
//
]);
// Use Yearly as an override for 'Organisations'
Spark::free('Organisation')
->currencySymbol('£')
->yearly()
->features([
//
]);
I've setup the paid for ones in Stripe and when I register and select those plans I see the strip_id column in the users table get updated.
However, when I select the 'Free' plan, I see nothing in the database. No records to reflect they've signed up to a free plan.
Wondering if others have had this issue?
Please or to participate in this conversation.