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) | ✅ | ✅ | ✅ | ✅ |
PayPal is available via Stripe Connect for European Stripe accounts only. For other regions, 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.
- Failed payment recovery: Automatic support for Stripe retries to reduce revenue loss from failed payments.
Setup
You need an active, verified Stripe account to connect Stripe. If you have one, the connection takes just a few clicks.1. Connect Sandbox account
- Go to Integrations > Stripe in FunnelFox.
- Click Stripe |Connect Account and select Sandbox.

- Log in to your Stripe account.
- Optionally, set up two-step authentication for Stripe, if you haven’t done that previously.
- Select the account you want to connect to FunnelFox and click Connect. You can also create a new account if needed.

- If your Stripe account isn’t fully configured, you’ll be prompted to complete the Stripe account details.

2. Connect Production account
- Click Stripe |Connect Account and select Production.
- Follow the same steps above to complete the connection.
Your Stripe integration is now active! Remember to republish your funnels to apply the changes.
Migrating from deprecated API keys setup
If you previously connected Stripe using the deprecated API keys setup, we recommend migrating to the new Stripe Connect functionality.- Follow the setup flow above 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.
- Republish your funnels.
- Verify that all products from the previous setup are available in your Checkout element.
Deprecated API keys setup flow
Deprecated API keys setup flow
FunnelFox doesn’t support Stripe Sandboxes. Use your live Stripe account with Test mode enabled instead. Learn about Stripe testing environments.
1. Live API keys
You need to add both publishable and secret keys from your live Stripe account.Publishable key:- Go to Developers > API keys in Stripe Dashboard.
- Copy your Publishable key (starts with
pk_live).

- Go to Integrations > Stripe in FunnelFox.
- Paste the publishable key into the Live Public Key field under Production.

Keep your FunnelFox Stripe settings page open throughout the setup process.
- Go back to Developers > API keys in Stripe.
- Copy your Secret key (starts with
sk_live).

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

2. Test API keys
Next, add your test keys for testing payments before going live.Test Publishable key:- Go to back to your Stripe Dashboard.
- Click your account picker at the top left and toggle on Test mode.
- Go to Developers > API keys.
- Copy your test Publishable key (starts with
pk_test).

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

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

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

- Save changes.
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. Similarly, products created in the production environment are available under the Production section. Configure Stripe products in your funnels:
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:- Go to Settings > Payments > Payment method domains in your Stripe Dashboard.

- Click + Add a new domain.
- 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.
- Go to Settings > Domains in FunnelFox.
- Select Stripe under Apple Pay domain verification.

- 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.Multiple Stripe accounts
Connect multiple Stripe accounts to support:- Different business entities
- Geographic separation
- Currency optimization
Add another Stripe account
- Go to Integrations > Stripe.
- Click Add Stripe account.
- Follow the setup steps for the new account.
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:Activate in Stripe Dashboard
- Go to Stripe Dashboard.
- Set up Stripe Tax. Learn about setting up Stripe Tax in Stripe Dashboard.
Enable in FunnelFox
- Go to the Checkout element in your funnels.
- Set Stripe Tax to Yes in the Actions section of the Element tab.
Prevent duplicate payments
Users sometimes double-click purchase buttons accidentally. By default, if this happens before Stripe confirms the payment to FunnelFox, it creates a duplicate charge. To enable duplicate payment protection:- Go to Integrations > Stripe.
- Set Prevent Duplicate Payments to Yes.
- Same customer
- Same product price
- Same purchase date
Customers see this alert when a duplicate purchase is prevented:
“You have already purchased this item. You won’t be charged again.”

Testing
Test your Stripe integration with simulated payments before going live.- Configure the test in your Checkout element’s Sandbox section.

- Open your funnel in Preview mode.

- 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 |
Metadata
FunnelFox sends the following customer metadata with purchases to Stripe:
Troubleshooting
Failed to validate Stripe keys (400 error)
Failed to validate Stripe keys (400 error)
- Ensure you’re using Test mode (not Sandbox) in Stripe
- Verify API keys are from the correct environment
Can I show customers multiple currencies with Stripe
Can I show customers multiple currencies with Stripe
Yes. To show relevant currencies for each user locale, follow our pricing localization guide.
I don't have products available for testing under the Sandbox section of my Checkout
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.
Checkout appears instead of one-click upsell with Stripe
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.
Next steps
- Configure checkout element in your funnel


