Getting started with Stripe Apps
Learn the basics of app development by building, previewing, and updating a Stripe app.
Build a “Hello, world!” sample app with a UI extension on the Customer details page in the Stripe Dashboard.
Use a coding agent
The Stripe Apps skill helps your coding agent scaffold, build, preview, and test a Stripe app using Stripe’s latest guidance. Install Stripe’s agent skills, then start a new agent session in the directory where you want to create your app and use this prompt:
Use the Stripe Apps skill to build a "Hello, world!" Stripe app that displays a UI extension on the Customer details page. Guide me through previewing and testing it.
You can also follow the step-by-step guide below.
Before you begin
Note
Developing an app when you have an existing Stripe extension
If you have an existing Connect extension, see Migrate to Stripe Apps.
- Sign in to the Stripe Dashboard, or create an account.
- Install the Stripe CLI. If you already have it installed, verify that you’re using version 1.52.0 or newer by running:If your version is older than 1.52.0, upgrade the Stripe CLI.Command Line
stripe version - Log in to the Stripe CLI by running:Follow the prompts to select the same Stripe account you’re using in the Dashboard.Command Line
stripe login - Verify that Node.js is installed by running:Stripe Apps requires Node.js versionCommand Line
node -v>=22. We recommend using an Active LTS version (22 or later). If you don’t have Node.js installed, download and install it. - Install pnpm. Stripe Apps uses pnpm as the package manager:Verify the installation:Command Line
brew install pnpmCommand Linepnpm --version
If you plan to publish your app to the App Marketplace, there are additional restrictions:
- You must have a live Stripe account, with a verified email address and business details.
- A Connect platform account can’t publish an app on the Stripe Marketplace.
If you’re authoring an extension, make sure you have:
| Prerequisite | Setup |
|---|---|
| Stripe account with access to the extensions private preview | If you don’t have access, sign up for early access. |
| Stripe CLI v1.52.0 or later, logged into your account | stripe version to check. Install or upgrade if needed. |
| A sandbox (recommended for first-time setup) | Create one in the Dashboard if you don’t have one. |
| Node.js v22 or later | node --version |
| pnpm v10 (v11 isn’t supported) | pnpm --version |
| Stripe Apps CLI plugin v1.19.0 or later | stripe plugin install apps then confirm with stripe apps -v |
| Generate plugin v0.11.5 or later | Confirm with stripe generate --version |
Install the Stripe Apps CLI plugin
To start building a Stripe app, install the Stripe Apps CLI plugin:
stripe plugin install apps
If you already have the apps plugin installed, verify that you’re on version 1. or later.
stripe apps -v # apps version 1.19.0
If you already have the apps plugin installed, we recommend upgrading to the latest version by running:
stripe plugin upgrade apps
Verify the Generate CLI plugin version
The Generate plugin adds code-generation commands to the Stripe CLI. Use stripe generate app to create your app’s initial project and configuration. The Apps plugin provides commands to develop, preview, and upload your app.
The Generate plugin installs automatically the first time you run a stripe generate command. Verify that you’re on version 0. or later:
stripe generate --version # generate version 0.11.5
If you already have the generate plugin installed, we recommend upgrading to the latest version by running:
stripe plugin upgrade generate
Create an app
Build the basic structure of your “Hello, world!” app:
Command Linestripe generate app helloworld cd helloworldFollow the prompts by entering the following information:
- ID: You can accept the auto-generated app ID or customize one. This is how Stripe identifies your app. Your app ID must be globally unique.
- Display name: Enter a display name. This is the name your Dashboard displays for your app. You can always change the name later.
App directory file structure
Stripe Apps only supports React 17. Make sure any dependency you install is compatible with this version. For more information see How UI extensions work.
Preview your app
You can run your app locally, update it, and preview your changes in the Dashboard:
Go into the
helloworlddirectory:Command Linecd helloworldTo preview your app, start your local development server:
Command Linestripe apps startPress Enter to open your browser.
Note
Use a browser that supports the Stripe Dashboard. Safari doesn’t support the Dashboard. For more updates, see the GitHub issue tracking browser support.
Click Continue to preview your app in your Stripe account:

Enable app preview

Your app in the Dashboard
Enable local network access before viewing your app.
Build your app
While you’re previewing your app in the Dashboard, the local development server enables real-time updates on your app:
In your
Home.file, change the title while you keep the Stripe Dashboard page open and your development server running. Save the file to see your changes in your app.tsx In the same file, remove
>from the</ContextView>closing tag, and save the file to see an error:
You can resolve the error in the Stripe Dashboard, your browser developer tools, or the Stripe CLI.
To stop the development server, Ctrl+C from your command line.
Your sample app is complete. Next, start adding more features to your Stripe app.
Interested in the preview of new app components and capabilities?
Enter your email to request access.