# How to connect Stripe

Connecting Stripe takes one action: install the provider's Stripe App on your Stripe account. You
sign in to Stripe, review the permissions the app asks for, and install it. There are no
credentials to copy and paste, and no settings to fill in on the Apideck side afterwards. Apideck
runs the authorization and keeps the connection's access token fresh for you.

The one thing worth sorting out before you start is who clicks the button: Stripe only lets an
**Administrator** install an app, and the connection reaches the Stripe account you install it on.

## Prerequisites

- **An activated Stripe account.** Signing up is free at
  [dashboard.stripe.com/register](https://dashboard.stripe.com/register); Stripe explains activation on its
  [account set-up page](https://docs.stripe.com/get-started/account/set-up).
- **Administrator rights on that Stripe account.** Stripe requires administrator rights to install
  an app, so a member without them cannot complete this flow. If you are not an administrator, ask
  whoever administers your Stripe account to run the steps below.
- **Nothing to install or enable first.** You do not need to create API keys, add a restricted key,
  or ask Stripe to switch anything on. The app is provided by the provider whose integration you
  are setting up.

## 1. Start the connection in Vault

1. Open the Stripe connection in Apideck Vault.
2. Click **Authorize**. Vault redirects you to Stripe's install page for the provider's Stripe App.

## 2. Sign in and install the app in Stripe

1. Sign in to Stripe if you are not already signed in, using the administrator account described
   above.
2. If your login has access to more than one Stripe account, pick the account you want to connect.
   This is the choice that decides which account's data the integration reads and writes, so check
   it carefully.
3. Review the permissions the app requests, then install the app to grant them.

**Your Stripe password and API keys stay with Stripe.** You sign in on Stripe's own pages, and what
the integration receives is a token Stripe issues for the app you just installed. You can withdraw
it at any time by uninstalling the app (see [Revoking access](#revoking-access)).

Stripe labels the app as a test version and note that it has not been reviewed by Stripe. That
is expected for an app distributed through Stripe's own external testing route rather than the
public App Marketplace. Do check that the app name is the one the provider told you to expect. If you do not recognise it, raise it with that
provider rather than installing now and unwinding later.

## 3. That is the whole setup

Stripe returns you to Vault and the connection shows as connected. There is nothing further to
enter: this connector asks for no account or company identifier, no subdomain, no region, and no
API key. If you are looking for a second screen of settings, there isn't one.

## Notes

- **Token refresh is automatic.** Apideck refreshes the connection's access token for you, so there
  is no expiry to diary and nothing to re-enter while the connection is in regular use.
- **Test mode and live mode are separate, and the provider chooses which one you land on.** Stripe
  issues a different install link for live mode, test mode and sandboxes, and the provider
  configured one of them for this integration. A connection installed through a test-mode or
  sandbox link sees only test data, so your live customers, invoices and payments will not appear
  through it. If you expected live data and are seeing none, that is the first thing to check with
  the provider.
- **The connection is scoped to one Stripe account.** It reaches the account you installed the app
  on, not every account your login can open. To connect a second Stripe account, set up a second
  connection and install the app on that account.
- **You can see the app in Stripe at any time.** It is listed in the Stripe Dashboard under
  **Settings** > **Installed Apps**.

## Revoking access

1. Open the [Stripe Dashboard](https://dashboard.stripe.com) with your administrator account.
2. Go to **Settings** > **Installed Apps**.
3. Uninstall the app you no longer want connected.

Uninstalling revokes the integration's access, and the connection stops returning Stripe data. To
reconnect, open the connection in Vault and click **Authorize** again.

## Troubleshooting

**The install button is greyed out, or Stripe says I am not allowed to install the app.**
Stripe restricts app installation to administrators. Check your own role on the Stripe account, and
if you are not an administrator, pass the Vault link to someone who is so they can complete the
install.

**Stripe says the app is already installed, or refuses to install the test version.**
If the published App Marketplace version of the same app is already installed on your Stripe
account, uninstall it first under **Settings** > **Installed Apps**, then run **Authorize** in
Vault again. Stripe will not install the test version alongside the published one.

**Stripe says the app has reached its limit of test installations.**
Stripe caps how many accounts can install an app through the external testing route the provider is
using. That cap belongs to the provider's app, not to your account, so there is nothing to change
on your side. Report the block to the provider.

**The connection authorized, but no data comes back.**
Check the mode first (see the Notes above): a test-mode or sandbox connection returns no live data.
If the mode is right, check the same records directly in the Stripe Dashboard on the account you
installed the app on, since an area with nothing in Stripe will also be empty here.

**The connection worked and later stopped.**
Check whether the app is still listed under **Settings** > **Installed Apps**. If it was uninstalled,
by you or by another administrator on the account, reinstall it by opening the connection in Vault
and clicking **Authorize** again.

## Additional resources

- [Stripe Apps: test an app externally](https://docs.stripe.com/stripe-apps/test-app) (Stripe's own
  description of installing a test version of an app, including the administrator requirement)
- [Stripe Dashboard](https://dashboard.stripe.com)

Still stuck? Contact [Apideck Support](https://help.apideck.com/en/articles/7774658).
