What it does
There are two common ways to charge through a form. You can collect the answers and send an invoice afterwards, or take the payment as part of sending the form, so the answers and the money arrive together. Paying in the form suits anything with a known price: tickets, deposits, orders, fees and donations.
Most forms charge one of three ways. A fixed price suits a ticket or a fee. A calculated price suits orders and quotes, where the total depends on what someone picked. Pay what you want suits donations and sliding scales, usually with a minimum.
- Fixed: the same amount for everyone
- Calculated: places times price, or options added up
- Pay what you want: above a minimum you set
- How many: one, a number they answered, or picked at checkout
Decide whether your prices include tax or have it added on top, and say so on the form. Discount codes are easiest to manage where the payments are, so you can see who used which. In Formkit, promotion codes are the ones you made in Stripe, and Stripe Tax works out tax from the person's address.
Card details belong on the payment provider's own page, not in your form. In Formkit, people pay on Stripe's checkout and the money goes straight to your Stripe account. Formkit never holds it, adds no fee of its own, and refunds are made in Stripe as usual.
The last button says Pay and send. The answers wait while the person pays and become a response only once Stripe confirms the payment, so nobody turns up unpaid. If they leave without paying, nothing is sent, and the answers are forgotten after two days.
Most problems with payment forms come from the setup, not the form.
- Pasting your Stripe secret key. Formkit refuses it: use a restricted key that can only open checkouts
- Going live untested. Paste a test key (rk_test_…) first and try it without real money
- Turning on tax before Stripe Tax is set up in Stripe
- Leaving out the webhook. Without it, payments are confirmed as people come back and checked every 20 minutes
- Hiding the price until the last page. Say what it costs early
How to start
- 1In Stripe, open Developers → API keys → Create restricted key
- 2Give it Write access to Checkout Sessions and Webhook Endpoints
- 3Paste it in a form's Settings → Payments, a test key first
- 4Choose the amount: fixed, a calculation's result, or pay what you want
- 5Set how many, promotion codes and tax, then Start taking payments
Templates to start from
Every templateGoes well with
In the help centre
- 1 min readTake a payment with a formPeople pay through your own Stripe account as they send the form, and the answers arrive once they have.
- 1 min readCalculations and scoringAdd up answers into a total, a score or a price.
- 1 min readExport to CSV, Excel, JSON or PDFGetting the data out for a spreadsheet, a script or a printer.
Questions
Can I take payments on Formkit's free plan?
No. Payments through your own Stripe account are part of Pro. Stripe's own fees apply, and Formkit adds nothing.
Do I need a Stripe account?
Yes. Payments go to your own Stripe account, through a restricted key you make there.
What if someone closes the tab while paying?
If the payment went through, Stripe tells Formkit and the response arrives anyway. If it didn't, nothing is sent.
Can the total come from the answers?
Yes. Write a calculation, like places times price, and choose its result as the amount in Settings → Payments.
Which currencies can I charge in?
Fifteen: US, Canadian, Australian, New Zealand and Singapore dollars, euros, pounds, Swiss francs, Swedish kronor, Japanese yen, Indian rupees, Bangladeshi taka, Brazilian reais, Mexican pesos and UAE dirhams.
Try it on your next form.
Free to start, with unlimited forms, responses and members. See what each plan includes on the pricing page.