> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payments and Stripe

> Answers to common Stripe questions: choosing a connection method, naming your secret key, sandbox errors, business verification, and the live payments app.

These answers cover connecting Stripe to your app. For both setup methods, see [Accept payments with Stripe](/use-cases/accept-payments-with-stripe). For connector details, see [Stripe Payments](/features/monetization/stripe-payments).

<AccordionGroup>
  <Accordion title="Should I connect Stripe through Replit or use my own keys?">
    You can connect Stripe in two ways:

    * **Replit Stripe connector:** Agent sets up a Stripe sandbox, and you install the Stripe app to go live. The connector is available on paid plans.
    * **Your own keys, with a webhook or the Stripe SDK:** a manual setup that you manage in **Secrets**.

    Use only one method in each environment. Combining them in the same environment causes connection conflicts, even if Agent suggests adding a webhook. You can use different methods in development and production, such as the connector while you build and your own keys after you publish.

    See [Choose one method per environment](/use-cases/accept-payments-with-stripe#choose-one-method-per-environment).
  </Accordion>

  <Accordion title="What should I name the secret for a manual Stripe setup?">
    Name your Stripe secret key `STRIPE_SECRET_KEY` in **Secrets**. This applies to both webhook and Stripe SDK setups. Use your own key as the value, and keep it out of your application code.

    Open **Tools**, select **Secrets** under **Setup**, then select **New Secret**.
    Enter `STRIPE_SECRET_KEY` in **Key** and your Stripe key in **Value**.

    <Frame caption="The example shows the required name before entering a value.">
      <img src="https://mintcdn.com/replit/2n-A_ptJoYn-gb3a/images/stripe/secret-name-context.png?fit=max&auto=format&n=2n-A_ptJoYn-gb3a&q=85&s=1133c28885534c63747df325de6ba576" alt="Secrets navigation and the new-secret form with STRIPE_SECRET_KEY entered in Key" width="2720" height="2040" data-path="images/stripe/secret-name-context.png" />
    </Frame>

    Make sure your published app's secrets include `STRIPE_SECRET_KEY` too, and publish again after you change it. If development uses the Replit Stripe connector's sandbox and production uses your own keys, the published value must be a live key that starts with `sk_live_` or `rk_live_`. Otherwise publishing stops with **Connect a live Stripe account before publishing.**

    See [Publish with your own live keys](/use-cases/accept-payments-with-stripe#publish-with-your-own-live-keys).
  </Accordion>

  <Accordion title="Stripe blocks my sandbox claim or says I have too many sandboxes. What should I do?">
    Match the action to the error:

    * **The sandbox is already in use:** create a new sandbox instead of claiming that one.
    * **You reached the sandbox limit:** consolidate the sandboxes you already have in Stripe, then try again.

    If you see an invalid or expired claim token error, [contact Replit Support](https://replit.com/support).
  </Accordion>

  <Accordion title="Why does Replit still show business verification as unfinished after I complete it in Stripe?">
    Business verification happens in Stripe's portal. Replit keeps the step open until you confirm it:

    1. Finish business verification in Stripe.
    2. Return to Replit and select **Got It** to continue setup.

    Completing verification in Stripe alone doesn't move you past the step.
  </Accordion>

  <Accordion title="Stripe selected the sandbox payments app during live setup. How do I choose the live one?">
    The installation flow can select the sandbox version of the payments app automatically, which causes an error. To fix it:

    1. In the Stripe installation flow, manually choose the **Live Mode** version of the app.
    2. Install it with your live Stripe account, not a sandbox or test account.
    3. Keep the Stripe window open until the installation finishes.

    See [Go live](/features/monetization/stripe-payments#go-live).
  </Accordion>
</AccordionGroup>

## Still need help?

If your Stripe question isn't answered here, [contact Replit Support](https://replit.com/support).
