Skip to main content
When your integration works in Sandbox, going live is a short checklist. Live has its own keys, catalog, customers and Stripe account, so nothing from Sandbox carries over and nothing in Live can touch Sandbox. Sandbox and Live explains the split, and what Live doesn’t support yet. Switch the dashboard to Live with the switch at the top of the sidebar. Until setup is done, Live pages carry a Finish setup button that counts the steps left.
1

Create a Live API key

In Settings › API keys, choose Create key. Live keys start with ledger_live_. Give your production backend only the permissions it uses (see API keys) and keep the key in your secret manager. Sandbox and Live keys only work in their own environment.
2

Connect your live Stripe account

In Settings › Stripe, choose Connect Stripe and paste a live secret key (sk_live_…) from Stripe’s API keys page. This is the account your customers pay into. Ledger checks the key, encrypts it and never shows it again.Ledger then creates a signed webhook endpoint in your Stripe account. Settings › Stripe shows it as Receiving when Stripe can deliver to it; if it shows Not active, choose Check again. Ledger won’t open a paid Checkout while the webhook is unhealthy. Stripe lists the events.
3

Set the Checkout redirects

In Settings › Checkout, set the success and cancel URLs of your production app. In Live they must be https and can’t point to localhost.
4

Decide on tax

You’re responsible for the sales tax, VAT or GST on your sales. To have Stripe calculate it, set up Stripe Tax in your live Stripe account (head office, default tax behavior, and a registration wherever you must collect), then turn on Automatic tax in Settings › Tax while the dashboard is on Live. Stripe calculates and collects the tax; registering and filing stay with you. Coupons, promotion codes and customer balances aren’t supported. Tax has the details.
5

Publish your catalog to Live

Push the same catalog file with your Live key. A Live key only acts with --live, and a Live push asks you to type live before it publishes:
Each paid plan syncs to your live Stripe account; every one must show Synced before you activate.To publish from CI after merge, run npx integrateledger-cli diff --exit-code on pull requests and push with --yes:
6

Activate live billing

When the steps are done, choose Activate live billing. Ledger rechecks each one, and live charges start straight away; there’s no review. Before you activate, free plans, check and track work in Live, and anything that would charge returns 503 live_charges_disabled.
7

Swap the key in production

Point your production backend at the ledger_live_ key. Nothing else in your integration changes. Then buy your cheapest plan or pack with a real card, check that the credits arrive, and refund it in Stripe. A refunded pack’s unused credits expire; a refunded plan keeps its credits.
To stop taking new payments, choose Turn off Live in Settings › Workspace: new Checkouts and upgrades are refused, and existing subscriptions keep renewing in Stripe. Ledger can also suspend a workspace that breaks its terms; email support@integrateledger.com to resolve it.

Troubleshooting