Skip to main content
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: Learn more about configuring each transaction type in your funnel.
PayPal is available for Stripe accounts based in Europe only. It isn’t available for accounts connected with Stripe Connect. For other cases, use the direct PayPal integration.

Additional features

  • Cancellation funnels: Full support for cancellation flows 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 for returning Stripe customers using their saved payment details.
  • Failed payment recovery: Automatic support for Stripe retries to reduce revenue loss from failed payments.
  • Stripe Managed Payments: Use the merchant of record (MoR) solution from Stripe in FunnelFox to offload tax compliance, fraud prevention, disputes, and post-purchase support to Stripe.

Setup

You need an active, verified Stripe account. You connect it through the FunnelFox Stripe App, which creates restricted keys with only the permissions FunnelFox needs. FunnelFox uses two sets of keys from the same Stripe account:
  • Test mode: Required. Runs in funnel preview.
  • Live mode: Optional at first. Takes real payments in published funnels.

1. Install Stripe App

Use the same Stripe account for testing and production.
  1. Go to Integrations > Stripe in FunnelFox and click Install in Stripe, or select New Stripe account first if you see accounts from other projects.
  1. Select your Stripe account.
  1. Keep the access rights as is and click Continue to install the app.
  1. Click Continue to app settings. You can view your test or live API keys depending on whether you’re logged in to your Stripe account in Test mode or Live mode.
  1. Copy the Publishable key.
  1. Paste it into the Test Publishable Key field in FunnelFox.
  1. Copy the Restricted key in Stripe.
  1. Paste it into the Test Restricted Key field in FunnelFox.
  1. Click Save.
Your Stripe account is connected for testing payments. Republish your funnels to apply the changes.

2. Add live mode keys

An account with test keys only shows the Works in test only status. To take real payments:
  1. In Stripe, switch to live mode.
  1. Go to Apps > Overview > FunnelFox.
  1. Click View API keys.
  1. Copy the Publishable key.
  2. Select the account in Integrations > Stripe and click Add live keys.
  1. Paste it into the Live Publishable Key field.
  2. Copy the Restricted key in Stripe.
  3. Paste it into the Live Restricted Key field.
  4. Click Save.

Migrating from deprecated API keys setup

Accounts connected with API keys or Stripe Connect show a Legacy tag. You can move them to the Stripe App:
  1. Follow the setup above for the same Stripe account. Add app keys for every mode the old connection uses: test, live, or both.
  2. Click Save. FunnelFox replaces the old connection and keeps its settings.
  3. Republish your funnels.
Don’t disconnect the old connection yourself. Connecting the same account through the Stripe App replaces it.

Products configuration

FunnelFox automatically creates webhooks in your Stripe account and syncs your products after setup. Products created in test mode of your Stripe account are available for funnel preview testing under the Sandbox section of Properties > Parameters in your Checkout element. Similarly, products created in the production environment are available under the Production section. Configure Stripe products in your funnels:
Create one Stripe price per currency and select it per funnel locale to boost conversion. Visitors check out in the currency they expect. Learn about pricing localization.

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. Once your setup is complete, add a Wallet button to your funnels.

Apple Pay

Apple Pay needs your funnel domains verified in Stripe. FunnelFox does this for you:
  • Once you integrated with Stripe, FunnelFox adds your funnel domains to Payment method domains in Stripe and asks Stripe to verify them.
  • Live mode gets your project domain and custom domain. Test mode gets the preview domain app.funnelfox.com.
  • FunnelFox never removes domains from Stripe.
This works well while the Apple Pay switch in Payment methods is on. If you move to Stripe from the other provider in FunnelFox, turn on the switch to verify your domains in Stripe.
  1. Go to Settings > Payments > Payment method domains in your Stripe Dashboard.
  1. Click + Add a new domain.
  2. Add your project domain from Settings > Domains in FunnelFox and click Save. If you have a custom domain, add it as well.
To use Apple Pay in funnel preview mode, add http://app.funnelfox.com/ as a domain.
  1. Go to Settings > Domains in FunnelFox.
  2. Select Stripe under Apple Pay domain verification.
  3. Click Save.
Apple Pay Wallet button will become available in your funnels after domain verification completes.

Google Pay

Google Pay wallet buttons with Stripe works by default and requires no configuration. Simply add the Wallet button to your funnels. Stripe 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.
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.
Before enabling Stripe Link in FunnelFox, make sure the Stripe Link payment method is activated in your Stripe account. Note that Stripe Link is not available in India, Brazil, and Thailand.
To enable Stripe Link:
  1. Go to Integrations > Stripe in FunnelFox and select the account.
  2. Toggle on Link in Payment methods. If Link is off in Stripe, click Turn on in Stripe first.
  3. Click Save.
  4. Republish your funnels.
If you disable Stripe Link, republish your funnels again to apply the changes live.

Multiple Stripe accounts

Connect multiple Stripe accounts to support:
  • Different business entities
  • Geographic separation
  • Currency optimization
1

Add another Stripe account

  1. Go to Integrations > Stripe.
  2. Follow the setup steps for the new account.
2

Select account in your funnel

After adding accounts, you can switch between them in your funnel (separately for Sandbox and Production environments):
  • In Properties > Parameters of your Checkout
  • In Properties > Parameters of your Wallet Button

Stripe Tax

Stripe Tax automatically calculates taxes for you. Learn more about Stripe Tax and its pricing in the Stripe documentation. To enable Stripe Tax:
1

Activate in Stripe Dashboard

  1. Go to Stripe Dashboard.
  2. Set up Stripe Tax. Learn about setting up Stripe Tax in Stripe Dashboard.
2

Enable in FunnelFox

  1. Go to the Checkout element in your funnels.
  2. Set Stripe Tax to Yes in the Actions section of Properties > Parameters.

Prevent duplicate payments

Customers sometimes pay twice by double-clicking the purchase button or by starting a fresh checkout when they already subscribed. The Stripe integration offers three toggles that handle duplicates either before the payment is charged or after it completes. Before payment:
  • Prevent Duplicate Payments: Blocks a second charge for the same price when a customer pays twice within 24 hours, for example after a double click or a page refresh.
  • 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.
After payment:
  • Refund Secondary Subscriptions: Automatically refunds a completed payment if the customer submits an email after checkout that already has an active, trialing, or paused subscription for the same product.
Limit One Subscription per Email only works if the customer’s email is captured in the funnel before checkout. Refund Secondary Subscriptions applies when the email is submitted after checkout completes.
To enable these protections:
  1. Go to Integrations > Stripe, select the account, and go to Advanced settings.
  2. Toggle on Prevent Duplicate Payments, Limit One Subscription per Email, or Refund Secondary Subscriptions.
  3. Click Save.
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.”

Unique statement descriptor

By default, all your Stripe transactions use the same statement descriptor.
Chargeback alert providers identify disputed payments using the statement descriptor. When all transactions share the same descriptor, an alert can’t be matched to a specific payment. Turn on Unique Statement Descriptor so each purchase gets its own descriptor and every alert resolves to a single transaction. Each new subscription, one-time purchase, and upsell gets its own value. A subscription keeps the same descriptor for its whole lifetime, so the first charge and every renewal look identical on the customer’s statement.
Add a shortened statement descriptor in Settings > Business details in your Stripe Dashboard first. Without it, the toggle has no effect and purchases use your default descriptor.
Customers see your shortened descriptor followed by a 10-character code, up to 22 characters in total:
To enable unique descriptors:
  1. Go to Integrations > Stripe, select the account, and go to Advanced settings.
  2. Toggle on Unique Statement Descriptor under Chargebacks. A preview shows what customers see.
  3. Click Save.
The setting applies per Stripe account and takes effect on the next purchase. You don’t need to republish your funnels.
Turning the toggle on or off doesn’t affect existing subscriptions. They keep the descriptor they started with.
Unique descriptors don’t work with Stripe Managed Payments.

Checkout form

Instead of using FunnelFox’s payment form, styled with your theme and payment methods, you can embed Stripe’s own payment form directly in the funnel screen.
FunnelFox’s own payment form:
Stripe’s payment form embedded in the funnel screen:
To enable Checkout Form:
  1. Request Checkout Form access for your account from Stripe support.
  2. Go to Integrations > Stripe in FunnelFox, select the account, toggle on Checkout Form under Checkout, and click Save.
  1. Set Checkout UI to Stripe Form in your Checkout element.
The setting applies per Stripe account. It isn’t available for Stripe Connect accounts.

Region-based payment methods

Some Stripe payment methods are available only to customers in a specific country.

Pix

Pix is Brazil’s instant bank payment method. On a recurring price, Pix creates a Pix Automático subscription: the customer scans one QR code in their banking app, which pays the first invoice and authorizes a mandate, so renewals are collected automatically without a new code. On a one-time price, Pix is a single payment with no mandate.
Before you enable Pix, check that:
To enable Pix:
  1. Go to Settings > Payments > Payment methods in your Stripe Dashboard and enable Pix for both one-time and recurring payments.
  1. Go to Integrations > Stripe in FunnelFox and select the account.
  2. Toggle on Pix in Payment methods.
  1. Click Save.
  2. Toggle on Pix in Properties > Parameters of your Checkout element.
  • The checkout price must be in Brazilian reals (BRL). Payments in any other currency fail.
  • A Pix customer has no saved payment method, so one-click upsells are not possible. The upsell opens the modal checkout with a new QR code and offers Pix only.
  1. Customize Pix in Properties > Parameters of your Checkout element:
    • Button text: Text on the payment button. Defaults to Pay with Pix.
    • Name field: Label and placeholder for the full name field.
    • CPF/CNPJ field: Label, placeholder, and error message for the tax ID field. FunnelFox validates the number in the browser.
    • Customize email field: Label, placeholder, and error message for the email field. It appears only if the funnel has not collected an email yet.
    • Absorb the IOF tax: Off by default, so the 3.5% Brazilian tax on international payments is added to the customer’s charge. Turn it on to pay the tax from your settlement instead.
    • QR code lifetime: How long the QR code stays valid, in seconds. Defaults to 1800 (30 minutes).
When your customers use Pix as a payment method:
  1. They fill in their email (only if the funnel has not collected one), full name, and CPF or CNPJ.
  2. Accept the disclosure below the fields. It states that this is an international purchase, how the 3.5% IOF tax is applied, and that Ebanx’s terms and conditions apply.
  3. Submit the form to open Stripe’s QR code modal, then pay in their banking app. On a subscription, paying the code also authorizes the mandate for renewals.
Closing the QR code modal or letting the code expire counts as a cancellation, not a failed payment.

Testing

Test your Stripe integration with simulated payments before going live.
  1. Configure the test in your Checkout element’s Sandbox section.
  1. Open your funnel in Preview mode.
  1. Use these Stripe test cards with any future expiry date and any 3-digit CVV:
Learn more about Stripe test cards.

Metadata

FunnelFox sends the following customer metadata with purchases to Stripe:

Troubleshooting

Use the test-mode and live-mode keys of one Stripe account.
FunnelFox couldn’t read the account from Stripe. Your funnels keep taking payments. Click Try again.
Yes. Create one Stripe price per currency, then select it in each funnel locale. Learn about pricing localization.
Products used in funnel preview are fetched from test mode of your Stripe account. Make sure the products are created there.
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.

Next steps