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

codenameaustin's avatar

Laravel Cashier: user->subscription() returns null even though they have a subscription

The checkout process worked fine with Stripe testing, however, I am testing with a real card and everything on Stripe and the database get populated properly BUT when I call $request->user()->subscription() it returns null even though there is a subscription.

As shown in the code below, I can manually find the subscription using the user_id but the subscription call from Cashier isn't working.

Anything thoughts? I've been googling and testing for hours and am lost.

$userId = $request->user()->id; $subscriptionManual = \DB::table('subscriptions')->where('user_id', $userId)->first();

$subscriptionCashier = $request->user()->subscription();

0 likes
1 reply
Hondaman900's avatar

Did you ever resolve this? I'm encountering the same issue and can't figure out why I'm getting a null returned for the user's subscription.

Please or to participate in this conversation.