Creem

Add production-ready billing to Convex apps with subscriptions, one-time purchases, seat-based pricing, and ready-made React/Svelte widgets.

Installation

npm install @mmailaender/convex-creem

About Creem

Creem adds production-ready billing to Convex apps with Creem. It handles subscriptions, one-time purchases, seat-based pricing, customer portal access, product sync, and webhook processing. You get a backend API for checkouts, subscriptions, customers, products, and orders, plus connected React and Svelte widgets for pricing pages, plan changes, seat updates, checkout flows, and billing state.

Benefits

Use cases

how to add subscription billing to Convex app

Convex Creem provides a complete billing backend API that integrates directly with your Convex functions. You get subscription management, customer portals, and webhook processing out of the box. The component handles subscription state changes and syncs billing data with your Convex database automatically.

Convex seat-based pricing implementation

This component includes built-in seat-based pricing logic with APIs for adding and removing seats. It automatically handles pro-rated billing and quota enforcement. You can use the provided React/Svelte widgets to let users manage their seat count directly from your app.

React checkout component for Convex billing

Convex Creem ships with pre-built React and Svelte widgets for checkout flows, pricing pages, and plan changes. These widgets connect directly to your Convex backend and handle the complete purchase flow including payment processing and subscription activation.

Convex webhook processing for payments

The component automatically processes payment webhooks and updates your Convex database with subscription changes, payment confirmations, and cancellations. It maintains billing state consistency between your payment provider and Convex backend without custom webhook handling code.

Frequently asked questions

Does Convex Creem work with existing Convex projects?

Yes, Convex Creem is designed as a drop-in component for existing Convex applications. You install the npm package, configure your billing settings, and start using the provided functions and widgets. It integrates with your existing Convex schema and functions without requiring architectural changes.

What payment providers does this component support?

Convex Creem integrates with Creem's billing platform, which handles payment processing and subscription management. The component abstracts the payment provider details and gives you a unified API for all billing operations within your Convex app.

Can I customize the billing UI widgets?

The component provides React and Svelte widgets for common billing scenarios like checkout flows and customer portals. These widgets are designed to be customizable and work with your existing component styling. You also get access to the underlying Convex functions to build completely custom billing interfaces.

How does seat-based pricing work with Convex functions?

Convex Creem includes functions to check seat limits and usage within your Convex mutations and queries. You can enforce seat-based quotas directly in your business logic and use the provided APIs to let customers upgrade their seat count when they hit limits.

Links