Payment UI

shadcn payment components

Install payment UI into your own codebase: balances, purchase dialogs, wallet recovery, credit gates, and feature gates for developer products.

shadcnPayment componentsReactCheckout UI
Install source files from your neonFin registry.
Keep payment UI consistent with your existing theme.
Compose checkout, wallets, balances, and gates like normal React components.

Why payment UI should live in your app

Billing touches the most sensitive parts of a product: pricing, locked states, empty balances, renewals, and support recovery. A hosted widget can be fast, but it often feels bolted on. The shadcn model works better for small developer products because the component source lands in your repository.

  • Review the component code before shipping it.
  • Change copy, layout, and styling to match the product.
  • Keep checkout prompts close to the feature they unlock.
  • Avoid building balance displays and purchase dialogs from scratch.

The core neonFin components

The registry gives you the common payment UI pieces most small apps need. They can be used together for a complete flow or separately when you want custom screens.

  • NeonfinProvider loads wallet state and resumes checkout confirmation.
  • RemainingCredits shows a live balance for the current wallet.
  • PurchaseButton and PurchaseDialog list offers and start checkout.
  • CreditGate renders paid UI only when enough credits exist.
  • FeatureGate renders UI only when a subscription, one-time purchase, or grant unlocks it.
  • WalletButton lets users copy, restore, transfer, and manage a wallet.

A simple paid action

For a credit-based action, put the provider around the paid part of the app, show the balance, then gate the action by the number of credits it costs.

<NeonfinProvider publishableKey={publishableKey}>
  <div className="flex items-center gap-3">
    <RemainingCredits productSlug="video-minutes" />
    <WalletButton />
  </div>

  <CreditGate productSlug="video-minutes" cost={10}>
    <Button onClick={() => deduct(10)}>
      Process video
    </Button>
  </CreditGate>
</NeonfinProvider>

SEO benefit of component-led docs

Each component maps to a real search problem: payment component, purchase dialog, credit gate, feature gate, wallet recovery, and checkout UI. The docs should stay implementation-focused so searchers and AI systems can understand exactly what neonFin provides.

  • Use descriptive page titles rather than internal package names alone.
  • Show one complete example per component page.
  • Link every component back to the guide for billing for side projects.
  • Keep copy explicit: shadcn payment components, checkout, credits, wallets, and feature gates.

FAQ

Are these npm components?

No. They follow the shadcn registry model: source files are copied into your app so you can inspect and change them.

Can I use custom UI instead?

Yes. The components use the same neonFin client and API you can call directly for fully custom screens.

Do the components replace Stripe Checkout?

No. They start provider checkout and render app-side billing UI. Stripe or Polar still handles the payment page.

Install the payment UI you will actually own

Use the registry components for the default flow, then edit the source when your product needs a different shape.