Skip to main content
The Apps API is in beta. Its endpoints and responses may change.

From sandbox to live

A sandbox is a Stripe test account Base44 provisions automatically when you install Stripe, with working test credentials from the start. A sandbox is unclaimed until you follow its onboarding link to take ownership of it as your own Stripe account, after which it’s claimed. An unclaimed sandbox also becomes expired 60 days after creation, and an expired sandbox can no longer be claimed. Installing again provisions a new one. Claiming only transfers ownership. The account still has to complete Stripe’s own activation, such as business details and verification, before it can go live. A claimed sandbox whose activation isn’t finished is what Get Stripe onboarding link calls resuming, and Provision live Stripe keys requires activation to finish before it can create keys. A Stripe integration starts in this sandbox and moves to live mode only when you configure or provision live keys.
  1. Install Stripe integration sets up the sandbox and stores test credentials. It reuses an existing usable installation rather than creating a duplicate.
  2. Get Stripe onboarding link returns a link to claim the sandbox or resume unfinished activation, refreshing onboarding state as it does.
  3. Switch to live mode with either Configure live Stripe keys, which stores keys you already have from Stripe, or Provision live Stripe keys, which creates them after Stripe activation. Provisioning’s rate limit is scoped to your account rather than the workspace, documented on its own rate-limit response for the base number. See Rate limits for the multiplier your plan gets.
  4. Get Stripe integration status reports the current mode, the sandbox’s claim state, and whether test or live credentials are stored, without returning any API keys.
Onboarding and claim links are one-time credentials. Treat a link returned by these endpoints the same way you’d treat a password.
Remove Stripe integration deletes the sandbox record and stored secrets and clears the app’s Stripe mode. It does not delete the Stripe account or catalog, revoke credentials at Stripe, or redeploy functions that already deployed with the old credentials.

The Stripe catalog

The product and price endpoints read and write the catalog of whichever Stripe account the app’s stored credentials select. Live keys reach the live catalog, and test keys reach the test catalog, so two apps sharing one Stripe account share its catalog too. List Stripe products and List Stripe prices each return a single batch of up to 100 records, with no cursor to retrieve the rest. There’s no way to page through a catalog larger than the batch you request. Updates only touch the fields you send. Update Stripe product and Update Stripe price leave omitted or null fields unchanged, and an empty update body leaves the record as it was. A price’s amount, currency, and recurring schedule can’t be changed after creation. Creating a product or price is not idempotent. Retrying a create request can leave you with a duplicate.

Endpoints

Setup

Products

Prices