Skip to content

Conversation

@gbarros-dev
Copy link

@gbarros-dev gbarros-dev commented Dec 3, 2025

Summary

  • Add products and prices tables to component schema with indexes
  • Add webhook handlers for product.* and price.* events
  • Add public queries: getProduct, listProducts, listActiveProducts, getPrice, listPrices, listActivePrices, listPricesByProduct, getPriceByLookupKey, getProductWithPrices
  • Add sync methods: syncProducts, syncPrices, syncProductsAndPrices
  • Support tiered pricing with billingScheme, tiersMode, and tiers fields
  • Update example app with product/price event handlers

Add comprehensive product and price management with Stripe sync:

- Add products and prices tables to component schema with indexes
- Add webhook handlers for product.* and price.* events
- Add public queries: getProduct, listProducts, listActiveProducts,
  getPrice, listPrices, listActivePrices, listPricesByProduct,
  getPriceByLookupKey, getProductWithPrices
- Add sync methods: syncProducts, syncPrices, syncProductsAndPrices
- Support tiered pricing with billingScheme, tiersMode, and tiers fields
- Update example app with product/price event handlers
@AtAFork
Copy link

AtAFork commented Dec 10, 2025

@gbarros-dev I believe you also had the question from discord "How is the Stripe version being handled if it is not explicit? For an example right now I am using version 2025-10-29.clover, if I update in the Stripe webhook where can I change it in the new Stripe component?" was that solved already?

@kellykampen
Copy link

@gbarros-dev I believe you also had the question from discord "How is the Stripe version being handled if it is not explicit? For an example right now I am using version 2025-10-29.clover, if I update in the Stripe webhook where can I change it in the new Stripe component?" was that solved already?

HIya, great question, but I think this should go in an issue, its unrelated to this feature pull request.

@gbarros-dev gbarros-dev force-pushed the feat/products-and-prices branch from 138dccb to a5f423f Compare December 20, 2025 16:06
@michaelshimeles
Copy link
Collaborator

A stripe account can have multiple products that might not be related to the same "PRODUCT"

Let's say, I have a business called "RAS MIC LLC" and under this business I have an email saas, a image gen saas and some other saas.

If I have all these products under one LLC which means under one stripe account that this PR will make so all the products under this stripe account will sync with the persons convex db

That being said, I think if you want to sync products in the db, you can track those events in the http.ts file under events object

@gbarros-dev
Copy link
Author

gbarros-dev commented Dec 23, 2025

A stripe account can have multiple products that might not be related to the same "PRODUCT"

Let's say, I have a business called "RAS MIC LLC" and under this business I have an email saas, a image gen saas and some other saas.

If I have all these products under one LLC which means under one stripe account that this PR will make so all the products under this stripe account will sync with the persons convex db

That being said, I think if you want to sync products in the db, you can track those events in the http.ts file under events object

I understand what you mean but this is pretty much the same situation for customers and invoices, no? It is pretty much syncing all of those as well.

If we need to consider this scenario of having a single Stripe account sharing data between products that should not relate with each other at all then this should probably be an issue that will come up with a deeper discussion on the architecture of the component, don't you think?

@kellykampen
Copy link

A stripe account can have multiple products that might not be related to the same "PRODUCT"

Let's say, I have a business called "RAS MIC LLC" and under this business I have an email saas, a image gen saas and some other saas.

If I have all these products under one LLC which means under one stripe account that this PR will make so all the products under this stripe account will sync with the persons convex db

That being said, I think if you want to sync products in the db, you can track those events in the http.ts file under events object

I think this is more of a business structure than how Convex Stripe should work.

In Stripe, you can set up different Accounts (silod products, customers etc) under a single Organization. The organization is your LLC. For me each account is my SaaS apps.

I am all for syncing products & prices in Convex Stripe component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants