vincent15000's avatar

Stripe : product and price creation

Hello,

For the moment I have developed an application with billing via Stripe and it really works fine.

Some months later, I now ask myself what was really the best approach between creating the products and the prices either via the API or directly on the Stripe website.

Why I ask for this ?

An application is developed with some functionalities and it's quite impossible to handle in the same application all possibilities provided by Stripe.

So if a user creates products and prices directly on the Stripe website with some configuration that is not handled in the Laravel application, it could not work properly. But if the products and prices are created via the API, the user will have a form in the Laravel application and I can control the exact needed configuration.

But also I simply cannot prevent the user from creating products and prices directly on the Stripe website, even if the products and prices are created via the API.

So what is the best approach ?

Thanks for sharing your experience.

V

0 likes
6 replies
martinbean's avatar

@vincent15000 I’m struggling to understand just what it is you’re asking, or what the problem is?

I have a SaaS. It has two pricing plans: monthly and yearly. I created the product, and the two prices, via the Stripe Dashboard years ago, and haven’t needed to touch them since. So why can’t you just create your app’s product(s) and price(s) in the Stripe Dashboard, and then use those product and price IDs in your app?

1 like
vincent15000's avatar

Well I did that for a client and he sometimes needs to evolve the prices for example.

If it was just for me, so no problem, I just create products and prices on the Stripe dashboard.

But what if a client wants to create new products and prices ?

martinbean's avatar

But what if a client wants to create new products and prices ?

@vincent15000 Then you have a far bigger problem on your hands, as you will also need to be mindful of migrating subscribers who have subscribed to the “old” plans.

1 like
vincent15000's avatar

Hmmm effectively I didn't thought about this problem.

A client could also need to make a one-off offer and temporarily cancel the other plans.

Or perhaps one day in the future change the prices (not necessarily the products, but only the prices).

quintinmorrow's avatar
Level 1

I’d keep products and prices as “infrastructure” and create them in the Stripe dashboard, then reference the IDs in the app. If clients need flexibility, build controlled tooling in your Laravel app that talks to Stripe’s API, instead of letting them freestyle in the dashboard. The real headache isn’t creation, it’s plan changes and migrating existing subscribers safely

1 like
vincent15000's avatar

Effectively it's a good idea.

If the client needs to create new prices, it's better to force him to create only what is handled in the application.

Please or to participate in this conversation.