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

jamesllewellyn's avatar

Laravel Cashier - Forever / Lifetime Subscription

I have an application that has subscriptions simular to Laracast, Monthly, Yearly and Forever.

I have the Monthly and Yearly subscriptions working, however, I'm struggling to work out how to manage the Forever subscription. This will just be a one-time payment that allows the user to access the service forever.

How should this be set up in Stripe and managed with Cashier?

Thanks

0 likes
5 replies
bugsysha's avatar
bugsysha
Best Answer
Level 61

I've used charge for those kind of situations and just keep the charge reference.

Something like

class BillingService
{
    public function forever(Order $order, string $token): Order
    {
        $payment = $order->user->charge($order->price, $token);

        return OrderRepository::paid($order, $payment);
    }
}
1 like
jamesllewellyn's avatar

@bugsysha Thank you for that. I think this makes sense to me. If I do this as a one-off payment do I then need to manually add that user into Cashiers subscriptions table or is there a way for Cashier to handle that which I'm missing?

Thanks again

bugsysha's avatar

If you are using Billable::subscribed() to check if that model is subscribed, then just create a subscription and put ends_at to something like now()->addCentury().

1 like

Please or to participate in this conversation.