funnelonce

Connect Stripe

Make a restricted key with the right permissions, set your statement name, and switch on the billing portal.

1 min readUpdated

Stripe takes your payments. Start in test mode; your agent switches to live keys only when you say so.

1. Make a restricted key

In Stripe: Developers → API keys → Create restricted key. Give it:

  • Write: Checkout Sessions, PaymentIntents, Products, Payment method domains, Subscriptions, Customer portal
  • Read: Charges, Customers, Invoices, Promotion codes

Copy the key and put it in sites/<your-site>/.secrets as STRIPE_SECRET_KEY=…. Your agent tells you exactly where the file is. Don't paste it into the chat.

2. The publishable key

The publishable key (pk_…) is public, so it goes in your site's config, not in .secrets. Give it to your agent. With it, checkout opens in a payment window on your page on computers. On phones, buyers pay on Stripe's own page so Apple Pay and Google Pay can load.

3. Your statement name

Set what appears on your buyers' card statements in Settings → Public details, and tell your agent the same text for your legal pages. A name buyers recognise means fewer disputes.

4. The billing portal (plans and subscriptions)

If you sell payment plans or subscriptions, switch on Stripe's customer portal once: Settings → Billing → Customer portal. Buyers then manage their billing from their order page.

FAQ

Why a restricted key and not the secret key?

A restricted key can only do what FunnelOnce needs. If it ever leaked, it couldn't touch the rest of your Stripe account. You can roll it any time in the dashboard.

Apple Pay doesn't show.

Apple Pay shows on Safari on an Apple device with a card in Wallet. Inside some app browsers (Instagram, for example) it may not appear; buyers can tap "Rather pay in Safari?" under the payment button.

stripepaymentskeys

Was this helpful?