Data
Mode
Plans
Install
pnpm dlx shadcn@latest add @paddle/pricing-displayyarn dlx shadcn@latest add @paddle/pricing-displaynpx shadcn@latest add @paddle/pricing-displayProps
priceId can be a single string (monthly-only) or a { month, year } object — mixing both is supported. Other fields: name, description, features, optional badge. test_; live tokens start with live_. "sandbox" "sandbox", live token with "production". US, GB) used to localise prices. Defaults to the customer's IP-detected country. true onPlanSelect instead of opening Paddle checkout. onPlanSelect for a manage-subscription flow. priceId — you typically fire a plan-change API call from here. currentPriceIds is unset). Usage notes
Each plan requires a price ID (starts with pri_). For multi-interval plans, pass priceId as an object keyed by interval (e.g. { month: 'pri_monthly', year: 'pri_yearly' }). Create and/or find yours in your Paddle dashboard under Catalog > Prices.
What it does
A full pricing page with localized prices, a billing interval toggle, and Paddle overlay checkout on plan selection.
It composes pricing cards, billing interval toggle, and Paddle.js together to deliver a complete pricing section.
When to use
- You're building a pricing page and need a tier comparison and checkout experience flow in one drop-in component.
- You want customers to be able to switch between monthly and yearly billing without a page reload.
- You need a single component that also doubles as a plan-switcher inside a logged-in account. Use the
currentPriceIdsprop.
If you need finer control over the layout, remix the pricing cards and billing interval toggle components directly.