Before you start Link to this section
Payments run through your own Stripe account, so the money is paid out to your bank account by Stripe. If you do not have an account yet, create one at stripe.com and complete the checks Stripe asks for. You can use the same account as your webshop or donations.
TinyForms asks for a restricted key: a key that can only do what TinyForms needs, and nothing else in your account. A secret key works too, but a restricted key is the safer choice.
Create a restricted key Link to this section
Log in to Stripe
Open dashboard.stripe.com and sign in with the account that should receive the payments.
Open Developers, then API keys
Search for API keys in the dashboard, or open Developers and then API keys, and choose Create restricted key.
Give it the right permissions
Name it TinyForms and set these four to Write: Checkout Sessions, Payment Intents, Refunds and Webhook Endpoints. Leave everything else on None.
Copy the key
Create the key and copy it. A live restricted key starts with "rk_live_". Stripe shows it only once, so paste it straight away.
Paste it in TinyForms
Go to your workspace settings, open the Payments section, choose Stripe, paste the key and save.
When you save, TinyForms checks the key with Stripe and creates a webhook in your Stripe account, which tells TinyForms when a payment went through, failed or expired. You find it under Developers, Webhooks, with TinyForms in its description. Leave it in place: without it, payments cannot be confirmed.
Key refused?
If a permission is missing, the settings say so and nothing is saved. Edit the key in Stripe, give it the four permissions above and paste it again. A publishable key (starting with pk_) does not work: it cannot create payments.
Test first
In test mode Stripe gives you keys starting with "rk_test_" or "sk_test_". They let you walk through the whole flow with test cards and no real money, and the settings show a Test mode label. Swap in the live key before you share the form.
Keep the key safe Link to this section
Your key can create payments and refunds on your Stripe account, so treat it like a password. TinyForms stores it encrypted, together with the webhook's signing secret, and never shows either again after saving.
If the key ever leaks, roll or delete it in the Stripe dashboard, create a new one and paste that into your workspace settings. TinyForms then replaces its webhook as well.