Loading tutorials…
Loading tutorials…
Typeform + Stripe is one of the fastest ways to ship a paid form — deposits, coaching bookings, event tickets, custom-quote orders. Done right, you collect money in 30 seconds. Done wrong, you accept payments and never deliver because the integration silently breaks.
Who this is forFounders accepting deposits, paid bookings, event tickets, or one-off product orders through Typeform. Especially relevant for service businesses, coaches, and event organizers.
What you'll need
Step 1
Payments are Business-tier only ($99/mo as of 2026). If you are on Plus, upgrade before continuing.
Open Typeform → Settings → Plan. Confirm "Business" status.
If on Plus, click Upgrade. Annual billing saves ~16% if you are confident the workflow will stick.
After upgrade, the "Payment" question type appears in the form builder.
Step 2
In Settings → Connected apps → Stripe, authorize with your live Stripe account. Use the same account that owns the products you sell.
In Typeform → Settings → Connected apps → Stripe → Connect.
You will be redirected to Stripe to authorize. Use the LIVE Stripe account, not test mode — test mode is fine for building but you must switch to live before publishing.
After authorization, return to Typeform. The Stripe account appears in your connected apps list.
Pro tip: if you have multiple Stripe accounts (testing vs production, multiple brands), create a separate Typeform workspace per Stripe account to avoid cross-billing.
Step 3
In the form editor, add a Payment question. Choose fixed price OR variable price (calculator-driven).
In the form editor → Add question → Payment.
For fixed price: enter the amount (e.g., $299), currency, description (shows on the Stripe receipt). Save.
For variable price: link the Payment field to a calculator variable. Example: a deposit field of "Deposit = (Project Cost) × 0.30" computed from earlier questions.
Make the Payment question required. Failed payments do not block respondents from skipping unless required is on.
Set the description carefully — it appears on the Stripe receipt and credit-card statement. "Acme Coaching - Deposit" is much better than "Typeform Payment."
Step 4
Typeform does not handle tax natively. Use Stripe Tax (automatic) or include tax in the price (manual).
Option A — Stripe Tax: in your Stripe dashboard, enable Stripe Tax. It auto-calculates tax based on respondent location at checkout. ~0.5% fee, worth it for any cross-state/cross-country sales.
Option B — manual: include tax in the Typeform price ("Total $299 includes applicable tax"). Simpler but accounting risks if you sell across jurisdictions.
For B2B services to clients with VAT registration, you must collect VAT ID. Add a short-text field "VAT ID (if applicable)" before the payment question.
Coordinate with your accountant before launching. Tax mistakes compound — fixing 200 wrong-tax invoices is painful.
Step 5
After payment, the respondent sees a thank-you screen and Stripe emails a receipt. Trigger fulfillment (calendar booking, delivery, email) from this point.
Customize the thank-you screen to confirm payment: "Payment received. Receipt sent to {{email}}."
If the purchase includes a meeting (coaching, consultation), embed a Calendly link on the thank-you screen for immediate booking.
Set up a Zapier or native Stripe → fulfillment trigger. Examples: send order confirmation email via Postmark/Mailgun, add row to Google Sheets for fulfillment team, notify Slack channel.
Test the receipt: complete a $1 test purchase and confirm the Stripe receipt arrives within 60 seconds.
Step 6
Test mode is not enough. Run a real $1 charge through the live form and confirm money, receipt, and fulfillment all fire.
Switch the form to live (Publish).
Submit a real response with a $1 payment field (you can temporarily set the price to $1 for the test).
Confirm: (a) payment appears in Stripe Dashboard within 30 seconds, (b) Stripe receipt email arrives, (c) Typeform response appears in Responses, (d) any fulfillment integrations fire (Slack alert, calendar invite, etc.).
Refund the $1 test charge from Stripe Dashboard.
Reset the form price to the real amount.
NOW publish publicly.
Step 7
Respondents abandon payment forms more than free forms. Set up a recovery workflow.
In Stripe Dashboard, enable "Send receipt by email" for successful payments.
In Typeform → Responses, filter by "Did not complete payment." These are warm leads worth following up.
Set up an automation (Zapier or native HubSpot) that creates a CRM record from incomplete payments with a follow-up task.
Common abandonment causes: card declined, 3DS challenge timeout, mobile checkout UI confusion. Stripe Dashboard → Disputes shows decline reasons.
Common mistakes
Authorizing Stripe in Test Mode and forgetting to switch
What goes wrong: Form goes live, respondents pay, but money goes to test dashboard. Refund requests follow. Reputation damage compounds.
How to avoid: Always confirm "Live Mode" in Stripe Dashboard top-right before authorizing the Typeform connection. Re-test with a real $1 charge.
No receipt automation
What goes wrong: Respondent pays but does not receive a Stripe receipt. They assume the payment failed and submit again — or charge back. ~$15 chargeback fee + lost trust.
How to avoid: In Stripe → Settings → Customer emails → "Send receipts for successful payments." Verify by completing a test purchase.
Variable-price calculator math errors
What goes wrong: Customer pays the wrong amount. Either overpays (refund request) or underpays (you eat the difference).
How to avoid: After setting calculator math, test 3-5 different input combinations and verify the calculated price matches your spreadsheet by hand.
Missing tax setup for cross-jurisdiction sales
What goes wrong: You sell to clients across states/countries without collecting tax. Eventually a regulator asks. Back taxes plus penalties.
How to avoid: Enable Stripe Tax for any sales beyond your home jurisdiction. Talk to your accountant before launching.
No fulfillment trigger
What goes wrong: Respondent pays. Nothing happens. They wait 24 hours, get frustrated, request refund. You only find out from the support email.
How to avoid: Always trigger fulfillment from successful payment — calendar invite, order email, Slack notification. Test before publishing.
Recap
Done — what's next
How to build a Typeform survey that actually gets completed
Read the next tutorial
Hand it off
Payment forms are the highest-stakes type of Typeform — broken integration = refund requests within hours. A specialist sets up Stripe + tax + receipts + fulfillment in 2-3 hours for $100-250. Ongoing payment-form maintenance is typically $100-200/mo. Cheap insurance against revenue leakage.
See specialist rates
No. Payments are Business-tier only ($99/mo as of 2026). Upgrade before adding a Payment question.
Credit/debit cards via Stripe. No PayPal, no Apple Pay/Google Pay native (though Stripe Checkout supports these on its hosted page). If you need PayPal, use a different tool or redirect to a PayPal page after the Typeform.
Yes — standard Stripe fees apply (2.9% + $0.30 per transaction in the US as of 2026). Typeform does NOT charge an additional fee on top.
No. Refunds must be issued from Stripe Dashboard. The Typeform response will show as paid; Stripe shows refunded.
Typeform
Typeform's one-question-at-a-time UX is what makes it convert — and what makes it brittle. This walks through how to structure questions, pick the right field types, and ship a survey that hits 60%+ completion rate.
Typeform
Logic jumps are what turn Typeform from a survey into a smart funnel. Done right, they route every respondent to a personalized path. Done wrong, they create dead ends and respondents stuck on the wrong branch.
Typeform
Typeform captures the lead. Your CRM and email tool nurture it. The connection between them is where 90% of lead-routing problems hide. This walks through the right setup path for both HubSpot and Mailchimp.
Tally
Tally + Stripe is the cheapest way to collect online payments without building a custom checkout. Done wrong, you lose 10-15% of would-be customers to confusion. Here's the right setup.