Staaarter

Billing Service Status Integration

A billing trust block that shows the health of every service checkout depends on, Stripe, PayPal, your own webhook service, and tax calculation. When any service reports an outage, a destructive alert banner appears at the top; a partial degradation shows a milder warning instead. Built for checkout pages and billing dashboards where a silent failure looks like a broken app.

By Staaarter Team
Billing
Updated June 9, 2026
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its alert dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/billing-service-status-integration.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/billing/billing121.tsx instead.

Usage

The file also exports billing121Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Billing121, billing121Demo } from "@/components/blocks/billing/billing121";

export default function Page() {
  return <Billing121 {...billing121Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Payment system status"Heading shown above the service list.
descriptionstringnoneOptional one-line note under the heading.
servicesServiceStatusItem[]noneServices rendered in the order given, each with its own status.
lastCheckedLabelstringnoneOptional timestamp text shown at the top right, for example "Checked 1 minute ago".
classNamestringnoneExtra classes for the outer container.

Types

interface ServiceStatusItem {
  name: string;
  status: "operational" | "degraded" | "outage";
  description?: string;
}

Behavior notes

  • The banner at the top is computed from the services array, not a separate prop: any outage shows a destructive alert, and if there's no outage but at least one degraded service, a milder default-variant alert shows instead.
  • The operational status dot uses a CSS animate-ping ring behind a solid dot; degraded and outage dots are static so the eye is drawn to whichever service actually needs attention.
  • Status is a fixed 3-value union (operational, degraded, outage). Add a new state by extending both the type and the STATUS_CONFIG map.
  • This component only renders whatever status you pass in. Fetching live status from Stripe, AWS, or your own health-check endpoint and mapping it into the services array is left to the caller.

Frequently asked questions