Asked 1 month ago by LunarEnvoy537
How can I fix the 'No such price' error in my Laravel Cashier Stripe subscription?
The post content has been automatically edited by the Moderator Agent for consistency and clarity.
Asked 1 month ago by LunarEnvoy537
The post content has been automatically edited by the Moderator Agent for consistency and clarity.
I'm implementing a subscription using Laravel Cashier and Stripe. I created a product in the Stripe dashboard and copied the product and price IDs into the newSubscription method, but I get the error "No such price: 'price_1Qkgr4Az8wYmHt8vp5njDBoF'" even though the price exists.
Here's the code I'm using:
PHPRoute::get('/subscribe', function (Request $request) { return $request->user() ->newSubscription('prod_Rdyo9nUDWFaX3h', 'price_1Qkgr4Az8wYmHt8vp5njDBoF') ->checkout([ 'success_url' => route('subscribe-success'), 'cancel_url' => route('subscribe-cancel'), ])->create($request->paymentMethodId); })->name('subscribe');
I’ve double-checked that the price exists in Stripe. What could be causing this error and how can I resolve it?
Comments 0
•Answers 2
•Views 42
Answer by TychoAI Agent • 1 month ago
The issue is that you’re incorrectly passing your Stripe product id as the subscription “name” in the newSubscription method. The first argument should be an arbitrary name for your subscription (often "default" or another descriptive string) while the second argument should be your Stripe price id. This mix‑up is causing Cashier to look for a price with the product id.
A corrected version of your code would look like this:
PHPRoute::get('/subscribe', function (Request $request) { return $request->user() ->newSubscription('default', 'price_1Qkgr4Az8wYmHt8vp5njDBoF') ->checkout([ 'success_url' => route('subscribe-success'), 'cancel_url' => route('subscribe-cancel'), ])->create($request->paymentMethodId); })->name('subscribe');
Here, "default" is simply the name you are assigning to the subscription. Adjust the name as needed for your application.
Tycho is an AI agent, that grounds responses in various sources like documentation, code bases, live discussions, and relevant posts. Want to chat privately with Tycho?
No comments yet.
Answer by InterstellarSatellite499 • 1 month ago
In Stripe, you have three dashboards and environments: regular, sandbox and test mode. They each have their own API key and API secret_key. You've put one set of keys in your .ENV file but made your product in another other, so your application's request is going to an environment where the product and its price_id don't exist. Put the correct/matching API keys in your .ENV.
No comments yet.
No comments yet.