Skip to Content

Stripe Setup

Connect your Stripe account to AppFunnel to accept payments, manage subscriptions, and track revenue. There are two connection methods — choose based on your security requirements.

The fastest way to connect. You provide your Stripe API keys and AppFunnel automatically configures the webhook endpoint.

Get your API keys

In the Stripe Dashboard , copy your Secret Key (sk_live_... or sk_test_...) and Publishable Key (pk_live_... or pk_test_...).

Use test mode keys (sk_test_...) during development. You can connect separate stores for test and live mode.

Create a store in AppFunnel

Navigate to your project’s Stores page and click Add Store. Select Stripe as the provider.

Add Stripe Store Insert image: The Stores page with the Add Store dialog open, showing Stripe selected as the provider

Enter your keys

Paste your Secret Key and Publishable Key. AppFunnel validates the keys against the Stripe API and detects whether they are test or live mode.

Done

AppFunnel automatically creates a webhook endpoint in your Stripe account with all required events. The webhook signing secret is stored securely — no manual configuration needed.

Method 2: Restricted Key

Use this method if you prefer not to share your full Secret Key. Restricted keys (rk_...) limit API access to only the permissions AppFunnel needs. However, restricted keys cannot create webhook endpoints via the API, so you must configure the webhook manually.

You can obtain a restricted key in two ways:

  • Install the AppFunnel Stripe App from the Stripe App Marketplace (provides a pre-configured restricted key)
  • Create a restricted key manually in the Stripe Dashboard under Developers > API Keys > Restricted Keys

Create the store

Navigate to Stores > Add Store > Stripe. Enter your restricted key (rk_...) and publishable key.

AppFunnel detects the restricted key prefix and skips automatic webhook creation.

Create the webhook endpoint in Stripe

Go to the Stripe Dashboard > Developers > Webhooks  and click Add endpoint.

Set the endpoint URL to:

https://api.appfunnel.net/webhook/stripe/{storeId}

Replace {storeId} with your store’s ID, shown in the AppFunnel store settings page after creation.

Subscribe to required events

Select the following events in the webhook configuration:

EventPurpose
checkout.session.completedEmbedded Checkout completion
customer.subscription.createdNew subscription created
customer.subscription.updatedSubscription status changes
customer.subscription.deletedSubscription canceled
invoice.paidRecurring payment succeeded
invoice.payment_failedRecurring payment failed
charge.refundedRefund processed
setup_intent.succeededCard saved (trial flow)
payment_intent.succeededPayment completed
payment_intent.payment_failedPayment failed

All 10 events are required. Missing events will cause incomplete subscription tracking and broken lifecycle management.

Copy the webhook signing secret

After creating the endpoint, Stripe reveals the Signing Secret (whsec_...). Copy it and paste it into the Webhook Secret field in your AppFunnel store settings.

Save

Click Save in your store settings. The store is now fully configured.

Importing Prices

After connecting a store, import prices from Stripe so they can be linked to funnel products.

Open the import page

Navigate to your store and click Import Prices.

Import Prices Insert image: The store detail page showing the Import Prices button and a list of fetched Stripe prices with checkboxes, product names, amounts, and billing intervals

Select prices

AppFunnel fetches all prices from your Stripe account. Select the ones you want to use in your funnels. Each price shows the product name, amount, currency, and billing interval.

Customize display names

Optionally set a display name for each imported price. This is shown in the AppFunnel dashboard for easier identification — it does not affect what the customer sees.

Imported prices sync automatically when changes are detected. You can manually trigger a re-sync from the store settings page.

Paddle Setup (Alpha)

Paddle integration is in alpha. Core checkout works, but subscription lifecycle tracking and some edge cases may not be fully handled.

Get your credentials

From the Paddle Dashboard , copy your API Key and Client Token.

Create the store

Navigate to Stores > Add Store > Paddle. Enter your API key and client token.

Webhook configuration

AppFunnel automatically creates a notification setting in your Paddle account. If automatic setup fails, you can manually configure the webhook in the Paddle Dashboard pointing to:

https://api.appfunnel.net/webhook/paddle/{storeId}

Test Mode vs. Live Mode

AppFunnel automatically detects whether your API keys are test or live mode and labels the store accordingly. Test mode stores use Stripe’s test environment — no real charges are made.

Best practice: create two stores per project (one test, one live) and use the test store during development. Switch the funnel’s product configuration to the live store price when you are ready to go live.

Troubleshooting

IssueSolution
”Invalid Stripe API keys”Verify your keys are copied correctly. Secret keys start with sk_ or rk_, publishable keys start with pk_.
Webhook not receiving eventsFor restricted key setups, confirm the endpoint URL includes the correct storeId. Check the Stripe Dashboard webhook logs for delivery failures.
Store stuck in “not activated”The store activates after receiving its first webhook event. Trigger a test event from the Stripe Dashboard or complete a test payment.
Prices not showing during importOnly active prices are shown. Archived prices in Stripe are excluded.
Last updated on