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

# Stripe payment integration

> Set up Stripe as your payment provider in FunnelFox. Configure checkout, subscriptions, Apple Pay, and manage recurring payments.

Stripe is FunnelFox's most feature-rich payment integration, offering global
payment processing with advanced subscription management, tax handling, and
extensive payment method support.

## Key features

FunnelFox supports the following payment methods and transaction types with Stripe:

| Transaction type               | Cards | Apple Pay | Google Pay | PayPal\* |
| ------------------------------ | :---: | :-------: | :--------: | :------: |
| **Subscriptions**              |       |           |            |          |
| Subscriptions                  |   ✅   |     ✅     |      ✅     |     ✅    |
| Free & paid trials             |   ✅   |     ✅     |      ✅     |     ✅    |
| **Upsells**                    |       |           |            |          |
| One-time products              |   ✅   |     ✅     |      ✅     |     ✅    |
| Subscription upsells (upgrade) |   ✅   |     ✅     |      ✅     |     ✅    |
| **Offers**                     |       |           |            |          |
| Intro offers                   |   ✅   |     ✅     |      ✅     |     ✅    |
| Promo codes (Coupons)          |   ✅   |     ✅     |      ✅     |     ✅    |

Learn more about [configuring each transaction type](/integrations/payments/stripe#subscription-configuration) in your funnel.

<Note>
  *PayPal is available for [API keys setup](/integrations/payments/stripe#deprecated-api-keys-setup-flow) with European Stripe accounts only. For other cases, use the direct [PayPal integration](/integrations/payments/paypal).*
</Note>

### Additional features

* **Cancellation funnels**: Full support for [cancellation flows](/dashboard/funnels#cancellation-funnels) with options to offer discounted subscriptions, gifts, or pauses instead of losing customers completely.
* **Wallet button**: One-click payment button for Apple Pay and Google Pay. Includes a fallback option when Apple Pay or Google Pay isn't available.
* **Stripe Link**: [Faster checkout](/integrations/payments/stripe#stripe-link) for returning Stripe customers using their saved payment details.
* **Failed payment recovery**: Automatic support for [Stripe retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries) to reduce revenue loss from failed payments.
* **Stripe Managed Payments**: Use the [merchant of record (MoR) solution from Stripe](/integrations/payments/stripe-managed-payments) in FunnelFox to offload tax compliance, fraud prevention, disputes, and post-purchase support to Stripe.

## Setup

You need an active, verified Stripe account to connect Stripe. If you have one, the connection takes just a few clicks.

Follow the steps below to configure both environments using the same connection method ([Stripe App](/integrations/payments/stripe#install-stripe-app-for-sandbox) or [API keys](/integrations/payments/stripe#deprecated-api-keys-setup-flow)).

<Tip>FunnelFox recommends using the [Stripe App integration method](/integrations/payments/stripe#install-stripe-app-for-sandbox) for the most reliable and seamless experience.</Tip>

### Install Stripe App for sandbox

1. Go to [Integrations > Stripe > Stripe App](https://app.funnelfox.com/integrations/stripe) in FunnelFox.

2. Click **Open Stripe Marketplace**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/stripe-app.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=20ed79dd2dd6b9fd11a74fc9bd9899da" width="1920" height="1032" data-path="assets/stripe-app.png" />
</Frame>

3. Select your Stripe Sandbox account.

<Info>Stripe [recommends using sandbox accounts](https://docs.stripe.com/testing-use-cases#compare) for testing purposes instead of production accounts in test mode.</Info>

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-account-selection.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=1de2d260452c2f223f737e00ff06c854" width="1920" height="1032" data-path="assets/app-account-selection.png" />
</Frame>

4. Keep the access rights as is and click **Install app in sandbox**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-install.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=98735e58408f8303bc5676565214ec22" width="1920" height="1032" data-path="assets/app-install.png" />
</Frame>

5. Click **Continue to app settings**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-continue.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=d02d14c5ac0a35ab0f68dad6ef8ffdc1" width="1920" height="1032" data-path="assets/app-continue.png" />
</Frame>

6. Copy your **Publishable key**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-public-key.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=0c8edeaad8673d2b6be626991b8c46e9" width="1920" height="1032" data-path="assets/app-public-key.png" />
</Frame>

7. Go back to the Stripe integration in FunnelFox and paste the key into the **Test Publishable key** field.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-instert-public.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=5a118d67ba98d0bd733dfb6432f61d05" width="1920" height="1032" data-path="assets/app-instert-public.png" />
</Frame>

8. Reveal and copy your **Restricted key** in Stripe.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-restricted-key.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=94efd6dab2de0d248e0658530abd998a" width="1920" height="1032" data-path="assets/app-restricted-key.png" />
</Frame>

9. Go back to the Stripe integration in FunnelFox and paste the key into the **Test Restricted API Key** field.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-insert-restricted.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=2d1ce75eb2ac63b8818734597feca8b4" width="1920" height="1032" data-path="assets/app-insert-restricted.png" />
</Frame>

10. Click **Save & Connect**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-save-connect.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=d7cb90da85d04ce7e8c298d54c8d0c7f" width="1920" height="1032" data-path="assets/app-save-connect.png" />
</Frame>

### Install Stripe App for production

1. Click **Open Stripe Marketplace**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/stripe-app-prod.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=fe79b277efb9ac1edccd191e3a0895ec" width="1920" height="1032" data-path="assets/stripe-app-prod.png" />
</Frame>

2. Select your Stripe Production account.

<Frame>
  <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/app-account-selection.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=1de2d260452c2f223f737e00ff06c854" width="1920" height="1032" data-path="assets/app-account-selection.png" />
</Frame>

3. Follow the same steps above to install the app and paste your keys into the **Live** keys fields in FunnelFox.

<Check>Your Stripe integration is now active! Remember to republish your funnels to apply the changes.</Check>

### Migrating from deprecated API keys setup

If you previously connected Stripe using the deprecated API keys setup, we recommend migrating to the new Stripe App installation.

<Warning>Do not delete your deprecated connections in [Integrations > Stripe](https://app.funnelfox.com/integrations/stripe). Keeping them ensures that webhooks for existing subscriptions continue to work. Redundant connections will be hidden from the UI after the transition period.</Warning>

1. Follow the [setup flow above](/integrations/payments/stripe#setup) and connect both environments:

* Sandbox account: Used for testing in funnel previews. Create products there to select them later in the Sandbox section of the Checkout element.
* Production account: Used for live traffic on published funnels. Create products there to select them later in the Production section of the Checkout element.

2. Republish your funnels.

3. Verify that all products from the previous setup are available in your Checkout element.

<Accordion title="Deprecated API keys setup flow">
  <Danger>FunnelFox doesn't support **Stripe Sandboxes**. Use your **live Stripe account** with **Test mode** enabled instead. Learn about [Stripe testing environments](https://docs.stripe.com/testing-use-cases#test-mode).</Danger>

  ### 1. Live API keys

  You need to add both publishable and secret keys from your live Stripe account.

  **Publishable key**:

  1. Go to **Developers > API keys** in [Stripe Dashboard](https://dashboard.stripe.com).
  2. Copy your **Publishable key** (starts with `pk_live`).

  <Frame>
    <img src="https://mintcdn.com/funnelfox/S1UPEyjP6dsmIswi/assets/live-public-key.png?fit=max&auto=format&n=S1UPEyjP6dsmIswi&q=85&s=9cb13c75174aee82bf16194a30867463" width="1920" height="814" data-path="assets/live-public-key.png" />
  </Frame>

  3. Go to [Integrations > Stripe > API Keys tab](https://app.funnelfox.com/integrations/stripe) in FunnelFox.
  4. Paste the publishable key into the **Live Public Key** field under **Production**.

  <Frame>
    <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/paste-live-public.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=693774d851342df82b70ce9f901e9af3" width="1920" height="1032" data-path="assets/paste-live-public.png" />
  </Frame>

  <Info>Keep your FunnelFox Stripe settings page open throughout the setup process.</Info>

  **Secret key**:

  1. Go back to **Developers > API keys** in Stripe.
  2. Copy your **Secret key** (starts with `sk_live`).

  <Frame>
    <img src="https://mintcdn.com/funnelfox/S1UPEyjP6dsmIswi/assets/live-secret-key.png?fit=max&auto=format&n=S1UPEyjP6dsmIswi&q=85&s=2b7d51031278cc171dee1ae293a9f296" width="1920" height="814" data-path="assets/live-secret-key.png" />
  </Frame>

  3. Go back to your Stripe settings in FunnelFox.
  4. Paste the secret key into the **Live Secret Key** field under **Production**.

  <Frame>
    <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/paste-live-secret.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=0675d27632254789d1fc3fcf61d50444" width="1920" height="1032" data-path="assets/paste-live-secret.png" />
  </Frame>

  ### 2. Test API keys

  Next, add your test keys for testing payments before going live.

  **Test Publishable key**:

  1. Go to back to your Stripe Dashboard.
  2. Click your account picker at the top left and toggle on **Test mode**.
  3. Go to **Developers > API keys**.
  4. Copy your test **Publishable key** (starts with `pk_test`).

  <Frame>
    <img src="https://mintcdn.com/funnelfox/OAPnxm8xdtSQ4VHS/assets/test-public-key.png?fit=max&auto=format&n=OAPnxm8xdtSQ4VHS&q=85&s=ed6c83bdda5750a5e050f51db909d6b7" width="1920" height="827" data-path="assets/test-public-key.png" />
  </Frame>

  4. Go back to the Stripe settings in FunnelFox.
  5. Paste the test publishable key into the **Test mode Public Key** field under **Test mode**.

  <Frame>
    <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/paste-test-public.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=db31fbaddff36490630cc0fd2076497f" width="1920" height="1032" data-path="assets/paste-test-public.png" />
  </Frame>

  **Test Secret key**:

  1. Go back to **Developers > API keys** in Stripe.
  2. Copy your test **Secret key** (starts with `sk_test`).

  <Frame>
    <img src="https://mintcdn.com/funnelfox/OAPnxm8xdtSQ4VHS/assets/test-secret-key.png?fit=max&auto=format&n=OAPnxm8xdtSQ4VHS&q=85&s=d6513983d62a2994b3ab74ec1826d781" width="1920" height="827" data-path="assets/test-secret-key.png" />
  </Frame>

  3. Go back to your Stripe settings in FunnelFox.
  4. Paste the test secret key into the **Test mode Secret Key** field under **Test mode**.

  <Frame>
    <img src="https://mintcdn.com/funnelfox/8tDU__IbpM2MEdpi/assets/paste-test-secret.png?fit=max&auto=format&n=8tDU__IbpM2MEdpi&q=85&s=8bdeb1e97f6ec5b770192591845782e8" width="1920" height="1032" data-path="assets/paste-test-secret.png" />
  </Frame>

  5. Save changes.
</Accordion>

## Products configuration

FunnelFox automatically creates webhooks in your Stripe account and syncs your products after setup.

Products created in your Stripe Sandbox account are available for funnel preview testing under the **Sandbox** section of the **Element** tab in your [Checkout element](/elements/checkout#subscription-configuration).

Similarly, products created in the production environment are available under the **Production** section.

Configure Stripe products in your funnels:

* [Free trial](/elements/checkout#free-trial)
* [Paid trial](/elements/checkout#paid-trial)
* [Offers (coupons & promo codes)](/elements/checkout#offers)
* [Upsell](/elements/checkout#upsell)

<Frame>
  <img src="https://mintcdn.com/funnelfox/L47wD8zMSLm8zhO6/assets/stripe-products.png?fit=max&auto=format&n=L47wD8zMSLm8zhO6&q=85&s=f5ce66f35dbfa2308294183df7ac0958" width="1151" height="962" data-path="assets/stripe-products.png" />
</Frame>

## Digital wallets

FunnelFox supports Apple Pay and Google Pay wallet buttons with Stripe for faster checkout. Apple Pay requires domain verification, while Google Pay works by default.

### Apple Pay

Apple Pay for Stripe requires domain verification before you can use it.

To enable Apple Pay:

1. Go to **Settings > Payments > Payment method domains** in your [Stripe Dashboard](https://dashboard.stripe.com/dashboard).

<Frame>
  <img src="https://mintcdn.com/funnelfox/adC29xs54DhAVVj3/assets/payment-method-domains.png?fit=max&auto=format&n=adC29xs54DhAVVj3&q=85&s=12b897c89ab0930f965d77f59adb6548" width="1889" height="812" data-path="assets/payment-method-domains.png" />
</Frame>

2. Click **+ Add a new domain**.

3. Add your project domain from [Settings > Domains](https://app.funnelfox.com/settings/domains) in FunnelFox and click **Save**. If you have a custom domain, add it as well.

<Info>To use Apple Pay in funnel preview mode, add `http://app.funnelfox.com/` as a domain.</Info>

<Frame>
  <img src="https://mintcdn.com/funnelfox/j8O36tDipoHcKqB5/assets/stripe-add-domain.png?fit=max&auto=format&n=j8O36tDipoHcKqB5&q=85&s=17d1d696dcb9bf999cd1753f57ac057d" width="1887" height="756" data-path="assets/stripe-add-domain.png" />
</Frame>

4. Go to [Settings > Domains](https://app.funnelfox.com/settings/domains) in FunnelFox.

5. Select **Stripe** under **Apple Pay domain verification**.

<Frame>
  <img src="https://mintcdn.com/funnelfox/j8O36tDipoHcKqB5/assets/stripe-apply-pay-select.png?fit=max&auto=format&n=j8O36tDipoHcKqB5&q=85&s=d74e50d0d008118c78683d4f26545f34" width="1920" height="879" data-path="assets/stripe-apply-pay-select.png" />
</Frame>

6. Click **Save**.

<Check>Apple Pay wallet button will become available in your funnels after domain verification completes.</Check>

### Google Pay

Google Pay wallet buttons with Stripe works by default and requires no configuration.

## Stripe Link

[Stripe Link](https://stripe.com/en-nl/payments/link) lets returning Stripe customers pay faster using their
saved payment details. They do not need to re-enter their card or billing information, which helps improve conversion rates.

You don't need to configure anything extra in the Checkout element. Enabling
Stripe Link in your integration settings makes it available as a checkout payment
method on all funnels automatically.

Customers who have previously saved their payment details with Stripe Link, even if they are new to your funnel, can complete their payment in just a few clicks.

<Warning>
  If a customer registers in your funnel using an Email input or OAuth button, Stripe customer and subscription are created with that email — not
  the one associated with their Stripe Link account.
</Warning>

<Frame>
  <img src="https://mintcdn.com/funnelfox/OxzdRRw2HuRfB1CK/assets/stripe-link-demo.gif?s=61ea7090cb97225424f705642d2be956" width="1214" height="940" data-path="assets/stripe-link-demo.gif" />
</Frame>

<Info>
  Before enabling Stripe Link in FunnelFox, make sure the
  [Stripe Link payment method is activated](https://support.stripe.com/questions/activate-a-new-payment-method)
  in your Stripe account. Note that Stripe Link is not available in India,
  Brazil, and Thailand.
</Info>

To enable Stripe Link:

1. Go to [Integrations > Stripe](https://app.funnelfox.com/integrations/stripe)
   in FunnelFox.
2. Toggle on **Stripe Link**.
3. Click **Save changes**.
4. Republish your funnels.

If you disable Stripe Link, republish your funnels again to apply the changes live.

<Frame>
  <img src="https://mintcdn.com/funnelfox/OxzdRRw2HuRfB1CK/assets/stripe-link.png?fit=max&auto=format&n=OxzdRRw2HuRfB1CK&q=85&s=afc801824d04c14cc4cfb463c987e059" width="1920" height="879" data-path="assets/stripe-link.png" />
</Frame>

## Multiple Stripe accounts

Connect multiple Stripe accounts to support:

* Different business entities
* Geographic separation
* Currency optimization

<Steps>
  <Step title="Add another Stripe account">
    1. Go to [Integrations > Stripe](https://app.funnelfox.com/integrations/stripe).
    2. Click **Add Stripe account**.
    3. Follow the [setup steps](/integrations/payments/stripe#setup) for the new account.
  </Step>

  <Step title="Select account in your funnel">
    After adding accounts, you can switch between them in your funnel (separately for Sandbox and Production environments):

    * In the **Element** tab of your **Checkout**

    <Frame>
      <img src="https://mintcdn.com/funnelfox/0LepRV0lh5gB7xQa/assets/stripe-multiple-accounts.png?fit=max&auto=format&n=0LepRV0lh5gB7xQa&q=85&s=84d7817d10b75510af676fbfe2c369e4" width="1142" height="870" data-path="assets/stripe-multiple-accounts.png" />
    </Frame>

    * In the **Element** tab of your **Wallet Button**

    <Frame>
      <img src="https://mintcdn.com/funnelfox/0LepRV0lh5gB7xQa/assets/stripe-wallet-button.png?fit=max&auto=format&n=0LepRV0lh5gB7xQa&q=85&s=0389ee9118418275d9588654cf225396" width="1144" height="870" data-path="assets/stripe-wallet-button.png" />
    </Frame>
  </Step>
</Steps>

## Stripe Tax

Stripe Tax automatically calculates taxes for you. Learn more about Stripe Tax and its pricing in the [Stripe documentation](https://docs.stripe.com/tax/checkout).

To enable Stripe Tax:

<Steps>
  <Step title="Activate in Stripe Dashboard">
    1. Go to [Stripe Dashboard](https://dashboard.stripe.com/dashboard).
    2. Set up Stripe Tax. Learn about [setting up Stripe Tax](https://docs.stripe.com/tax/set-up) in Stripe Dashboard.
  </Step>

  <Step title="Enable in FunnelFox">
    1. Go to the [Checkout element](/elements/checkout) in your funnels.
    2. Set **Stripe Tax** to **Yes** in the **Actions** section of the **Element** tab.
  </Step>
</Steps>

## Prevent duplicate payments

Customers sometimes pay twice by double-clicking the purchase button or by starting a fresh checkout when they already subscribed. FunnelFox offers two ways for the Stripe integration to block both cases:

* **Prevent Duplicate Payments**: Blocks a duplicate purchase that matches all of these: same customer, same product price, and same purchase date. Covers accidental double-clicks before Stripe confirms the first payment.
* **Limit One Subscription Per Email**: Blocks a new purchase if the customer's email already has an active, trialing, or paused subscription in your project. Plan upgrades, one-time payments, and customers whose previous subscription is canceled or expired are not affected.

<Info>**Limit One Subscription Per Email** only works if the customer's email is captured in the funnel before checkout.</Info>

To enable these protections:

1. Go to [Integrations > Stripe](https://app.funnelfox.com/integrations/stripe).

2. Toggle on **Prevent Duplicate Payments** or **Limit One Subscription Per Email**.

<Note>
  Customers see these alerts when a duplicate is prevented:

  * Duplicate payment: *"You have already purchased this item. You won't be charged again."*
  * Duplicate subscription: *"You already have an active subscription."*
</Note>

<Frame>
  <img src="https://mintcdn.com/funnelfox/trFu0DSn1yMoOVMq/assets/prevent-duplicate.png?fit=max&auto=format&n=trFu0DSn1yMoOVMq&q=85&s=a8273271de9ee19a353fbb748a6f7791" width="1920" height="989" data-path="assets/prevent-duplicate.png" />
</Frame>

## Testing

Test your Stripe integration with simulated payments before going live.

1. Configure the test in your Checkout element's **Sandbox** section.

<Frame>
  <img src="https://mintcdn.com/funnelfox/OAPnxm8xdtSQ4VHS/assets/stripe-testing.png?fit=max&auto=format&n=OAPnxm8xdtSQ4VHS&q=85&s=17e4a1a1424912c826f20ed0619a8e98" width="1129" height="866" data-path="assets/stripe-testing.png" />
</Frame>

2. Open your funnel in **Preview** mode.

<Frame>
  <img src="https://mintcdn.com/funnelfox/OAPnxm8xdtSQ4VHS/assets/stripe-test-preview.png?fit=max&auto=format&n=OAPnxm8xdtSQ4VHS&q=85&s=fe3b829c7dfc8be6b92a1bbbd483b2c9" width="1130" height="860" data-path="assets/stripe-test-preview.png" />
</Frame>

3. Use these Stripe test cards with any future expiry date and any 3-digit CVV:

| Card Number         | Scenario                |
| ------------------- | ----------------------- |
| 4242 4242 4242 4242 | Success                 |
| 4000 0000 0000 0002 | Declined                |
| 4000 0000 0000 9995 | Insufficient funds      |
| 4000 0025 0000 3155 | Requires authentication |

Learn more about [Stripe test cards](https://docs.stripe.com/testing).

## Metadata

FunnelFox sends the following customer metadata with purchases to Stripe:

```json theme={null}
{
  "fbc": "fb.1.1771647859500.test_click_id_123",
  "fbp": "fb.1.1768417255988.7307905378490303",
  "custom_user_id": "y62CGLhosCNtFt0CEbNoM7xRuS62",
  "ff_funnel": "welcome-flow",
  "ff_session_id": "xyz789",
  "utm_source": "google",
  "utm_medium": "cpc",
  "utm_campaign": "summer-sale",
  "utm_term": "subscription",
  "utm_content": "ad-variant-a"
}
```

<Frame>
  <img src="https://mintcdn.com/funnelfox/S2D1BeVovSlLF3L6/assets/stripe-meta.png?fit=max&auto=format&n=S2D1BeVovSlLF3L6&q=85&s=6c6b662667160cf144ade6f003b980fc" width="1868" height="764" data-path="assets/stripe-meta.png" />
</Frame>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Can't find my production account with test mode when connecting Stripe">
    You will not see your production account in test mode when connecting a Stripe Sandbox account. Stripe [recommends using sandbox accounts](https://docs.stripe.com/testing-use-cases#compare) for testing purposes instead of production accounts in test mode.
  </Accordion>

  <Accordion title="Can I show customers multiple currencies with Stripe">
    Yes. To show relevant currencies for each user locale, follow our [pricing localization guide](/editor/localizations).
  </Accordion>

  <Accordion title="I don't have products available for testing under the Sandbox section of my Checkout">
    Products used in funnel preview are fetched from your Stripe Sandbox account. Make sure the products are created there.
  </Accordion>

  <Accordion title="Checkout appears instead of one-click upsell with Stripe">
    Stripe allows you to upsell both one-time products and subscription upgrades. By default, customers don't need to provide their payment details again and will be charged with just one click.

    If the upsell payment is declined, for example due to insufficient funds after the initial purchase, the checkout pop-up is shown again so the customer can retry.
  </Accordion>
</AccordionGroup>

## Next steps

* [Configure checkout element](/elements/checkout) in your funnel
* [Set up Stripe Managed Payments](/integrations/payments/stripe-managed-payments)
