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

danielmeade's avatar

Upgrade billing plan after X days

Hi everyone,

Instead of offering users a free trial and their billing cycle start at the end of their trial, I'd like to charge a smaller amount for access within the trial period, then when the trial period ends, they are charged the regular amount.

Is there a way in Spark to be able to charge for trial?

Or is there a way to set users off on one plan and upgrade them to another after X days?

0 likes
4 replies
Cronix's avatar

Haven't tried it, but sound like it might work if you offer a regular plan (instead of free), and then create a coupon/discount for it and apply it automatically so the user doesn't have to manually enter it? So it charges x on signup and goes to y after some period of time?

Apply to every invoice, just one invoice, or for a certain length of time

https://stripe.com/docs/billing/subscriptions/discounts

For applying automatically, you could use: https://spark.laravel.com/docs/6.0/billing#site-wide-promotions

danielmeade's avatar

@CRONIX - Ah, I see what you're saying. Sounds like this could work.

So I could create a coupon within Stripe that applies for a duration, then after that move to the regular billing amount.

And within my application, I would call Spark::promotion('coupon-code'); where "coupon-code" is the name of my coupon.

Kinda thinking out loud here, but wanted to make sure I understood you.

Thanks!

Cronix's avatar

Yes, you got it. As I said I haven't tried it they way you're wanting, but it looks like it would work according to the various docs I linked to.

danielmeade's avatar

Just as a follow-up, this works!

Unfortunately, it doesn't work for my use case. Stripe sees that the billing cycle is monthly, so the discount it allows you to apply is one of three options:

  • Once
  • Multiple Months (you define the no of months, with the minimum being 1)
  • Forever

The option I need is 7 days; 7-day trial for $X followed by $XX monthly.

I think I might just have to make the trial free-of-charge.

Please or to participate in this conversation.