> ## Documentation Index
> Fetch the complete documentation index at: https://help.the-meridian.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Account page

`MeridianAccountPage` is the merchant's side of billing inside your app: what plan they are on, how much of their allowance they have used, and the controls to change or cancel.

```tsx theme={null}
import { MeridianAccountPage } from "@the-meridian/sdk"

<MeridianAccountPage onChangePlan={() => navigate("/app/pricing")} />
```

It needs a [`MeridianProvider`](/sdk-provider) ancestor and an embedded Shopify app with App Bridge loaded, and it takes no `returnUrl`, because nothing on it starts a new subscription.

<Warning>
  The page reads fine anywhere, but its two actions (**Cancel subscription** and **Raise cap**) require your app to be [hosted on Meridian](/sdk-hosting). Hosted elsewhere, they fail with `PLAN_BUILDER_UNAVAILABLE`.
</Warning>

## Props

| Prop | Notes |
| - | - |
| `onChangePlan` | Renders the **Change plan** button. Omit it and the button does not appear |
| `onCanceled` | Fires after a successful cancellation |
| `confirmBeforeCancel` | Defaults to `true`. Set `false` to cancel without the confirmation dialog |

## What it shows

The current plan's name, and a badge that reads **Active** or **Paused**.

**Paused** means Shopify could not take the last payment. The page tells the merchant that Shopify will retry automatically and that they should update their payment method in the Shopify admin. See [Merchant subscription](/merchant-subscription).

## Usage this period

One row per metered [event](/events) on the shop's plan: the event's name, how much has been consumed against what is included, and a bar. Going over the included quantity turns the row and its bar red and adds an **Over limit** badge.

For an event that actually bills overage, the row also states the overage rate, the unit it applies to, and the monthly cap ("Overage $0.10 per 10 translations, capped at $5.00/mo"), and offers **Raise cap**. The unit is worded the same way as on the [pricing page](/plans#what-a-merchant-sees). A priced [usage view](/usage-views) states its cap but not its rate ("Overage billed on usage, capped at \$200.00/mo"), because its rate can be a percentage.

## Raising the cap

Shopify's usage charges are bounded by a capped amount the merchant approves. Billing stops when they reach it, and raising it needs their approval again.

**Raise cap** opens a dialog pre-filled with double the current cap. The new value has to be greater than the current one (a lower or equal cap is rejected on the field), and confirming sends the merchant to Shopify to approve it.

<Note>
  The dialogs are Polaris modals. `window.confirm` and `window.prompt` are silently suppressed inside the embedded admin's cross-origin iframe, so a flow built on them appears to do nothing.
</Note>

## Cancelling

**Cancel subscription** asks for confirmation, then cancels right away. The dialog tells the merchant the plan ends now and paid features are turned off.

Cancelling clears the shop's plan, so [feature gates](/features) stop granting on the next refresh. The page updates itself; `onCanceled` is for anything else your app needs to do.

## When there is no plan

A shop with no subscription gets an empty state instead of the summary. Right after the merchant cancels from this page it reads "Choose a plan to get your features back." instead of the new-install wording. Both show a **View plans** button when you passed `onChangePlan`. A newly installed shop lands here, so pointing `onChangePlan` at your [pricing page](/plans) completes the upgrade path.

## Reading the same data yourself

Everything on this page comes from the snapshot [`useMeridian`](/sdk-use-meridian) exposes: `entitlements` for the plan, its paused state and per-event usage, and `plans` for the configured terms. Server-side, `getMe` and `getCustomer` return the same payload.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.