FeaturesBilling
PreviousNext

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

app/pricing/page.tsx
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: [
        // ...
    ],
});

Server/Client Components

The component is split into server and client parts for optimal performance:

  • PricingPlans: Server component that fetches pricing data
  • RecurringPricingImplClient: Client component that handles interactivity

This architecture ensures fast page loads while maintaining a smooth user experience.

How is this guide?

Last updated on 10/17/2025