Pricing Plans
Display pricing plans that are synced with your billing provider configuration.
The PricingPlans
component allows you to display your subscription plans in a beautiful and responsive layout, automatically synced with your billing provider's configuration.
Usage
import { RecurringPricingImpl } from '@kit/billing/ui/pricing-plans';
import { billingConfig } from '~/config/billing.config';
export default async function PricingPage() {
return (
<div className="container py-8">
<RecurringPricingImpl config={billingConfig} />
</div>
);
}
Features:
- Automatically fetches plans from your billing provider
- Responsive pricing table layout
- Highlights recommended plans
- Shows plan features and limits
- Handles currency formatting
- Supports monthly/yearly toggle
- Direct checkout integration
Customization
The pricing plans component uses your billing configuration to determine:
- Currency display
- Price formatting
- Available plans
- Feature lists
- Checkout flow
You can customize these in your billing configuration file:
export const billingConfig = parseBillingConfig({
provider: 'stripe', // or 'lemon-squeezy'
checkoutUI: 'embedded',
attachedTable: 'user',
products: [
// ...
],
});
If you are looking for a Lemon Squeezy example, look the the config folder of the dashboard app.
Server/Client Components
The component is split into server and client parts for optimal performance:
PricingPlans
: Server component that fetches pricing dataRecurringPricingImplClient
: Client component that handles interactivity
This architecture ensures fast page loads while maintaining a smooth user experience.
Display the billing dashboard UI for users to manage their subscriptions and billing information.
Tools to track user behavior and events using different analytics providers.
How is this guide?
Last updated on 10/17/2025