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

makedonsky's avatar

Handling failed payments in Cashier/Spark

One of the customers of my Spark Classic SaaS is abusing the system.

And I don't understand how to prevent it correctly.

He subscribes to the plan, and then the next payment in a months is failing due to insufficient funds.

He waits until his subscription would be cancelled automatically.

Then he subscribed again, but he only pays around 5 dollars somehow.

Before that, Stripe creates an invoice that credits him 95% of the monthly payment back as "unused time". So he only pays 5% for the whole month.

It's hard to explain what's going on, but seems like Spark should prevent him from creating new subscription while he has unpaid invoices?

0 likes
0 replies

Please or to participate in this conversation.