# Test your app externally

Set up and distribute test versions of your app before publication.

> External testing is available only for public apps uploaded from a live account, a supported Stripe sandbox, or a test-only account. V1 Connect test accounts don’t support external testing.

Use external testing to let other accounts install your app before you publish a new version to the App Marketplace.

External test links for apps uploaded from a sandbox or test-only account work only with other sandbox or test-only accounts, not live accounts. Standard install links aren’t available for these apps.

## Before you begin

1. [Create your app](https://docs.stripe.com/stripe-apps/create-app.md).
2. Review the mandatory [App review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md).
3. [Upload your app](https://docs.stripe.com/stripe-apps/upload-install-app.md).
4. There is a limit of 25 testers per app. Limit the use of external tests for testing purposes only.

## Set up an external test 

Uploading your app makes it available under **Created apps**. You don’t need to install it on your own account to configure external testing.

1. Open [Created apps](https://dashboard.stripe.com/apps/created) in the Stripe Dashboard and switch to the account or sandbox where you uploaded the app. If you uploaded from a live account, use that account’s live mode, not its legacy test mode or a different sandbox.
2. Select the uploaded public app.
3. Click **Set external test version**, select a version from **Available versions**, and click **Set version**.
   - If you don’t see **Set external test version**, check that your app uses public distribution and that you’re in the account or sandbox and mode used for upload.
4. On **Details**, find the **External testing** section. Set **Access** to **Anyone with the link** to let testers install the app, or **Closed** to prevent new installations.
5. Copy the install link from **External testing** and send it to your testers. Testers must have Apps administrator rights to install the app.
   - If your OAuth app displays environment-specific install links, send the link for the tester’s environment, such as live mode, legacy test mode, or a sandbox.

Result: After a user installs the test version of your app, all members of the account can use it.

## Update the version of your test app 

Change the testing version to update the app for all current testers.

1. Open [Created apps](https://dashboard.stripe.com/apps/created) in the account or sandbox where you uploaded the app, then select the same app. For a live-account upload, use that account’s live mode, not its legacy test mode or a different sandbox.
2. Click **Set external test version**.
3. Select another version from **Available versions**, and click **Change version**.

Result: All current testers’ apps automatically update to the selected version.

## Evaluating your test app 

You must inform your users that test apps are still in development and haven’t been reviewed by Stripe. Users should only install apps from developers they trust.

### Installing the test app 

After the tester opens the invite link, Stripe redirects them to the following page in the Stripe Dashboard:
![Installation invite](https://b.stripecdn.com/docs-statics-srv/assets/test-app-install.b17e2c6d587db9b6ecc09bcdd14e5be3.png)

Installation invite

After the user installs the app, all members on the account can use it. If the published version of the app is already installed on the account, it needs to be uninstalled before the test version can be installed.

### Using the test app 

After installation, testers can open the app from the Dashboard. Depending on the app’s views, it appears in the dock on the right side of the Dashboard or in the left navigation under **Apps**.

For apps that use the dock, a **Test app** badge appears next to the app name. Testers can hover over the badge to learn that they’re viewing an unreleased version.
![Test app open in the Dashboard dock with the Test app badge visible](https://b.stripecdn.com/docs-statics-srv/assets/test-app-using.67f8cd9b9509567b29067561847ede9c.png)

Test app in the dock
![Full-page test app open in the Dashboard, listed under Apps in the left navigation](https://b.stripecdn.com/docs-statics-srv/assets/test-app-using-full-page.9fb920ad6a4634b506cdabace2bef213.png)

Full-page test app in the left navigation

### Leaving the test 

If users no longer want to evaluate a test app, they must select it from **[Settings](https://dashboard.stripe.com/settings/apps) > [Installed Apps](https://dashboard.stripe.com/settings/apps)** and uninstall it. If the published version of the app was previously installed on the account, users can reinstall the app from the App Marketplace.
![Uninstall test app](https://b.stripecdn.com/docs-statics-srv/assets/test-app-uninstall.e4f1daaad6b9609325a1ca76cac512be.png)

Settings page

### Ending the test 

Currently, we don’t support ending external testing with the Stripe Dashboard. Instead, to end a test of an app, you must upload a new version of the app to disable the functionality. After this update, the new test version is available for external testing.

## See also

- [Publish your app](https://docs.stripe.com/stripe-apps/publish-app.md)
- [App review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
- [Full-page apps](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)
