1 min readUpdated
Formkit never holds the money: payments go straight to your Stripe account, and Formkit takes no cut.
Connect Stripe
In Stripe, open Developers → API keys → Create restricted key. Give it Write access to Checkout Sessions, and to Webhook Endpoints so payments are confirmed the moment they go through. Paste it in a form's Settings → Payments. A test key (rk_test_…) lets you try it without real money. If you'd rather not allow webhooks, add one by hand in Stripe and paste its signing secret; without one, payments are confirmed as people come back and checked every 20 minutes.
Set the amount
Charge a fixed amount, the result of one of the form's calculations (such as a quote that adds up the options someone picked), or let people pay what they want above a minimum you set.
How many
One, the answer to a number question (seats, tickets), or picked on Stripe's page up to a limit.
Discounts and tax
Turn on promotion codes to let people enter one you made in Stripe. Stripe Tax can add tax from the person's address, on top of the price or already in it; set it up in Stripe first.
What people see
The last button says Pay and send. Stripe's checkout opens, and the answers are sent once the payment has gone through. If they leave without paying, nothing is sent, and the answers are forgotten after two days.
In your responses
Each response shows what was paid, with how many, any discount and any tax, and exports gain a Payment column. Refunds are made in Stripe.