Guides · payments · Verification-gated

Stripe (account activation, API keys and webhooks)

Test-mode keys are quick; live payments need "Verify your business" (activation). Check whether Stripe Managed Payments is on, use restricted keys for live, and capture the webhook signing secret when the endpoint is created.

Verified live 24 October 2026Last researched 24 October 2026 · Stripe · provider site

Who owns what

One Stripe account per business, with separate test and live modes.

  • Stripe account organisation owned by the business (or sole trader)

Have ready

  • Company or sole-trader details (legal name, address, registration number) [to verify exact list] Needed for: Verify your business (activate live payments)
  • Identity details for the business representative [to verify] Needed for: Verify your business (activate live payments)
  • Bank account for payouts [to verify] Needed for: Verify your business (activate live payments)
  • A live website describing what you sell [to verify] Needed for: Verify your business (activate live payments)

Steps

Steps marked “human step” are ones only you can do: verapli never signs in, submits, pays or accepts terms for you.

  1. Sign in to the Stripe Dashboard

    You sign in, or create the account yourself.

    • Guided by hand
    • Human step: You sign in

    Where: https://dashboard.stripe.com/

  2. Copy the test-mode keys

    Test and live modes have separate keys. Start with the test-mode publishable and secret keys from Developers, API keys.

    • Guided by hand
    • After: Sign in to the Stripe Dashboard

    Where: https://dashboard.stripe.com/test/apikeys

  3. Verify your business (activate live payments)

    Live payments stay off until you complete "Verify your business" in the Dashboard. You enter the business and representative details yourself.

    • Guided by hand
    • Human step: You prove your identity
    • After: Sign in to the Stripe Dashboard

    Where: https://dashboard.stripe.com/

  4. Decide on Stripe Managed Payments

    Some accounts have Stripe Managed Payments switched on by default. It makes Stripe the merchant of record (a legal and tax choice), and Checkout then rejects custom_text. Decide whether you want it before you build Checkout.

    • Guided by hand
    • After: Sign in to the Stripe Dashboard
    If something goes wrong (1)
    • Creating a Checkout Session with custom_text is rejected: Either drop custom_text, or (only if you do not want Stripe as merchant of record) send managed_payments[enabled]=false when creating the session. [1]
  5. Create a restricted key for live mode

    For live mode, create a restricted key with only the permissions your app needs instead of using the full secret key. verapli captures it and writes it to your env file.

    • Guided by hand
    • Human step: You press submit
    • After: Verify your business (activate live payments)

    verapli captures STRIPE_SECRET_KEY here by plain code: encrypted in your browser, never shown to AI.

    Where: https://dashboard.stripe.com/apikeys

  6. Create the webhook endpoint and capture its signing secret

    Create the webhook endpoint for your app's URL. The signing secret is shown only when the endpoint is created, so capture it at that moment.

    • Guided by hand
    • Human step: You press submit
    • After: Sign in to the Stripe Dashboard

    verapli captures STRIPE_WEBHOOK_SECRET here by plain code: encrypted in your browser, never shown to AI.

    If something goes wrong (1)
    • The signing secret was not saved when the endpoint was created: Create a new endpoint (or roll the secret) and capture it straight away; update your env file. [1]

    Where: https://dashboard.stripe.com/webhooks

Terms and gotchas

Plain-English summary, not legal advice. Each card links its source.

Can cost moneyThe rules say

Managed Payments makes Stripe merchant of record

Stripe Managed Payments, on by default on some accounts, makes Stripe the merchant of record. That is a legal and tax choice; turning it off per Checkout Session (managed_payments[enabled]=false) means you are the seller of record. [1]

Worth knowingThe rules say

Live payments need business verification

Live payments are not available until "Verify your business" is complete. [1]

What you end up with

Env varSecretFormatWhat it is
STRIPE_SECRET_KEYsecretsk_test_… / rk_live_…Secret or restricted API key (test or live); server-side only
STRIPE_WEBHOOK_SECRETsecretwhsec_…Webhook endpoint signing secret
STRIPE_PUBLISHABLE_KEYnot secretpk_test_… / pk_live_…Publishable key for the browser (not a secret)

For agents

The same entry as JSON: /api/v1/entries/stripe/account-and-billing · requirements /api/v1/requirements/stripe/account-and-billing · terms /api/v1/terms/stripe/account-and-billing.

Remote MCP (read-only, no auth)
claude mcp add --transport http verapli https://verapli.com/mcp

> "What do I need for Stripe (account activation, API keys and webhooks), and how long will it take?"
  → tools/call requirements { "provider_id": "stripe/account-and-billing" }

Sources

  1. verapli owner's live Stripe setup for verapli.com (first-hand) Verify your business required before live payments; separate test and live keys; Managed Payments on by default on some accounts, rejecting Checkout custom_text unless managed_payments[enabled]=false and making Stripe merchant of record; webhook signing secret only shown when the endpoint is created · accessed 24 October 2026 · first-hand

Provider rules change. This page is generated from verapli registry version 2026.1025.316; spotted something out of date? Tell us. Stripe is not affiliated with verapli.