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

danibanai's avatar

laravel cashier stripe - how charge customer immediately when changing subscription with the same interval

I implemented laravel 5.2 with cashier (stripe). I have three plan:

Basic - monthly Pro - monthly Agency - monthly

Now if i have customer that subscribe to Basic plan and he decided to subscribe to Pro plan. How can i charge him immediately with cashier?

From Stipe i got the answer that

"if customer was in Basic plan and subscribe to Pro plan than hi will charge in the next charge day. but if he subscribe to a plan with a different interval (annually instead monthly) he will charge immediately."

How i can handle this bizarre situation?

let say the customer subscribe to a basic plan (the chipper one) paid it's first month. and day after change to Agency plan (much more expensive) and then he canceled is credit-card. he will enjoy almost a month if Agency plan while he only pay for the Basic plan. and at the next charge day... he won't be charged becouse his credit-card was cancelled

0 likes
2 replies
cent040's avatar

you can use swap function in laravel cashier

  $user->subscription('basic')->swap('pro');

basic : 10$ pro : 30$

if you already purchase basic ans swap to pro Stripe will charge 20$. Because user already paid 10$ for basic.

Regards Arfan

danibanai's avatar

Stripe won't charge. he will wait for the next charge day

Please or to participate in this conversation.