Connect Stripe
Dashboard → Integrations → Stripe → Connect. Stripe's hosted onboarding collects your business and payout details; splitforms never sees your bank information.
Feature · Stripe Payments
Connect your own Stripe account, set an amount, and submitters go straight to Stripe Checkout after they submit. The money lands in your Stripe balance, not ours.

Your form posts to one splitforms endpoint — no server, API route, or SDK. splitforms is the backend.
Every submission is saved to a searchable dashboard and emailed to you — spam filtered before it lands.
No glue code, no third-party middleman — it ships as part of splitforms and works from your first submission.
Copy-paste ready
Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. No SDK to install, no build step — the same html you already write.
<!--
Payment form: the fields are ordinary HTML. The amount, currency and
Stripe account live in Dashboard → Form settings → Payments, so a visitor
can't edit the price in the page source.
-->
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="text" name="name" placeholder="Full name" required />
<input type="email" name="email" placeholder="Email" required />
<select name="session" required>
<option value="">Pick a session</option>
<option>Saturday 10:00</option>
<option>Sunday 14:00</option>
</select>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
<button type="submit">Continue to payment</button>
</form>
<script src="https://splitforms.com/embed.js" async></script>
<!--
Native POST: the lead is saved, then the browser is redirected to Stripe
Checkout. fetch()/JSON callers get { success: true, payment_url } back —
send the visitor there yourself:
const json = await res.json();
if (json.success && json.payment_url) window.location.href = json.payment_url;
-->How to set it up
How stripe payments flows through splitforms — what you do, what we do, and what lands in your inbox.
Dashboard → Integrations → Stripe → Connect. Stripe's hosted onboarding collects your business and payout details; splitforms never sees your bank information.
Form settings → Payments: switch payments on, enter the amount and currency, and save. The amount is stored server-side, so it can't be changed from the browser.
The submission is saved and you're notified, then the visitor pays on Stripe Checkout. The dashboard marks each lead paid or unpaid, and the export can filter by payment status.
How stripe payments works
splitforms can put a payment step behind any form. Connect your own Stripe account from Dashboard → Integrations → Stripe (Stripe-hosted onboarding, so your business details go to Stripe, not to us), then open Form settings → Payments, switch payments on, and set a fixed amount and currency — USD, EUR, GBP, CAD, AUD, NZD, INR, SGD, AED, or JPY, with a 0.50 minimum. Route the same submission to an email inbox or a webhook at the same time — nothing here is one-or-the-other.

What you get
Every reason below is the boring, reliable kind — the fundamentals of stripe payments, built once and tested in production so you never have to.

How SplitForms works
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Common questions
Connect Stripe in Dashboard → Integrations → Stripe, then open the form's settings → Payments, turn payments on, and set the amount and currency. Your form stays a normal form posting to https://splitforms.com/api/submit. After a successful submission, a native POST redirects the visitor to Stripe Checkout; a fetch() request gets { success: true, payment_url } back so your code can send the visitor there.
Payment forms are included on the paid plans: Pro ($5/month) or Annual ($49/year). The charge is made on your own Stripe account, so the money goes to your Stripe balance and Stripe pays it out on your normal schedule. Stripe's standard processing fees apply on your Stripe account.
The submission is already saved, so you still have the lead — it's simply marked unpaid. That makes it easy to follow up with people who abandoned checkout: filter the inbox or the export by unpaid.
Not today. Each form has one fixed amount set in the dashboard, which keeps the price tamper-proof. For different prices, create one form per price (for example a deposit form and a full-payment form). Pay-what-you-want amounts and item lists aren't supported.
In your Stripe dashboard. The payment is a normal Stripe Checkout payment on your account, so refunds, receipts, disputes, and payouts are handled there exactly as for any other Stripe charge.
Simple pricing
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
For side projects and indie devs.
Every paid feature, for agencies and growing products.
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
No credit card required on Free • Cancel anytime • Full pricing and FAQ