splitforms.com

Order forms · Stripe Checkout

A Stripe order form for your own website.

Last reviewed

Build a Stripe order form with product options and quantities. SplitForms calculates the amount from your saved prices and sends customers to Stripe Checkout.

  • Your Stripe account
  • Server-calculated prices
  • Static-site friendly
A website form connecting to Stripe Checkout

Copy the example

An HTML order form with product options and quantities

Replace YOUR_ACCESS_KEY with the key for your payment form. Match the option values to your saved pricing rules; the price labels below are illustrative.

order-form.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <label>Your name <input name="name" required></label>
  <label>Email <input name="email" type="email" required></label>
  <label>Choose a product
    <select name="product" required>
      <option value="small-box">Small box — $15.00 each</option>
      <option value="large-box">Large box — $25.00 each</option>
    </select>
  </label>
  <label>Quantity <input name="quantity" type="number" min="1" max="9999" step="1" value="1" required></label>
  <input name="botcheck" type="checkbox" style="display:none" tabindex="-1">
  <button type="submit">Continue to secure checkout</button>
</form>
<!-- Configure the matching option prices in SplitForms before enabling payments.
     Prices in these labels are examples. The saved server prices control the charge. -->

Match these saved settings

Configure the server prices before accepting orders

Choose Calculate from order selections in Form settings → Payments. Add product = small-box at 15.00 and product = large-box at 25.00; use quantity as the quantity field on both rows. Set USD, tax to 0% for this example, and collect 100%.

Form field and option valueExample full price (USD)Amount collected
product = small-box$15.00 per item100% × quantity
product = large-box$25.00 per item100% × quantity

Two large boxes cost $50.00 with these example prices and no tax. A posted total of $0.01 cannot replace the server-calculated amount.

For fetch() submissions, follow the returned payment_url instead of immediately showing a paid confirmation. Read the checkout integration guide.

Prices stay on the server

Submitted totals are ignored. Saved option prices, valid selections and whole quantities determine the payment.

Payments to your account

Charges are created on your connected Stripe account. Manage receipts, refunds, disputes and payouts in Stripe.

Keep the enquiry

Form acceptance and payment completion are separate. The enquiry remains available when a visitor abandons checkout.

Know the limits

A focused order form, with your own fulfillment workflow

This suits a small order form with known options. It does not provide stock tracking, shipping-rate calculations, discount-code management or a full store. Use a commerce platform when you need those capabilities.

  • One-time payments through hosted checkout
  • Separate payment and mailing-list forms
  • Confirm paid status before fulfillment
Submission details and payment status in a form dashboard

Setup

From your form to Stripe Checkout

Connect your Stripe account

Open Integrations → Stripe. Check that Stripe has enabled payments; completed onboarding can still be awaiting verification.

Save the matching payment rules

Choose Calculate from order selections in Form settings → Payments. Add product = small-box at 15.00 and product = large-box at 25.00; use quantity as the quantity field on both rows. Set USD, tax to 0% for this example, and collect 100%.

Install and test your form

Use a dedicated form for paid submissions. Test native redirects or payment_url handling and verify the payment status before fulfilling an order.

Common questions

Frequently asked questions.

View all FAQs
Can each order have a different payment amount?

Yes. Save a price for each form option and optionally name its quantity field. SplitForms calculates the total on the server from the selected options and quantities, then creates a Stripe Checkout session for that amount.

Can I use this on Netlify, Vercel or a static HTML site?

Yes. A native form posts to SplitForms and redirects to Stripe Checkout. With JavaScript fetch(), read the JSON response and navigate to payment_url. You do not need a Stripe secret key on your website.

Can I use checkboxes for add-ons?

Yes. Add option prices for the add-on field and submit selections as an array or repeated form fields. Distinct selected options are summed once. The first configured field is required; later groups can be optional.

Does SplitForms calculate shipping or track stock?

No. The order calculation uses the option prices, quantities and tax percentage you configure. Shipping rules, inventory and fulfillment remain your responsibility.

Is a paid plan required?

Yes. Form payments are available on paid SplitForms plans. Stripe processing fees are separate. Connect an eligible Stripe account, complete any requested verification and test the checkout before taking customer payments.

Simple pricing

How much does splitforms cost?

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.

Free

$0— 500 submissions
 

No card, no time limit

Best for testing

For side projects and indie devs.

  • 500 free submissions
  • Unlimited forms
  • Email notifications included
  • Smart spam filtering
  • Submissions dashboard
  • Redirect after submit
  • MCP server included

Annual

$49/ year
About $4.08/mo, billed yearly
Best value

Every Pro feature with triple the volume — $0.27 per 1,000 at full use.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • File uploads with 5 GB storage
  • 3 team seats
  • Priority email support

No credit card required on Free • Cancel anytime • Full pricing and FAQ