Skip to main content

How to add a payment page

1

Select a payment type

Click + Add page and choose Payment.Screenshot 2025-10-01 at 5.52.03 PM.pngSelect between the following types:
  • One-time - for single, non-recurring transactions
  • Subscription - for recurring transactions usually with a fixed price
  • Pay what you want - leave the amount up to the customer
A subscription payment page uses one Stripe price. To offer several subscription tiers, add a payment page for each tier and use page logic earlier in the form to send respondents to the right one.
Payment pages can be added anywhere in your form and are available on all plans with no additional fees charged to use the feature. However, usual Stripe fees such as transaction costs still apply.
2

Enter details

Add the details of your payment page and Connect to Stripe. From here you can choose the currency, and make the price and product name dynamic by clicking the plus icon or typing @ to reference a specific field.Screenshot 2025-10-01 at 5.31.36 PM.pngIn this example, the product name and price will change per customer depending on their order.The default payment method in new forms is through a card. You can give more options to your customers by adding more Payment methods through the left-hand panel.
Fillout doesn’t support automatically adding VAT to the prices, even if the option is enabled in your Stripe account. You can use calculations to obtain a price with taxes included, and then use that calculation as the price in the payment page.
3

Publish and share

That’s it! Click Preview to try out your form. Payments will only be collected when you Publish the form and send its link.
You can test your live form without getting charged. Create a 100% off coupon in Stripe, then enable the “Discount Codes” option to apply it during checkout. Once testing is done, just toggle the discount codes back off.

Customize payment settings

On the left-hand panel, you can:
  • Allow discount codes - add a new code or link an existing one to your form by clicking Manage discount codes in Stripe
  • Collect email - to create a new customer on your Stripe account
  • Pre-fill fields - automatically fill out the fields of your payment form
Screenshot 2025-10-02 at 1.49.01 PM.png
  • Show testimonial - to help increase checkout rates
  • Show disclaimer - to clarify terms and reduce disputes over returns, shipping, and other necessary info
Screenshot2025-10-01at6.05.08PM.png.avif
  • Send Stripe receipt - after a successful purchase. Be sure to enable the collect email switch.
Screenshot 2025-10-01 at 6.06.11 PM.png Here’s a sample of what it would look like. Note that receipts are not sent in Fillout preview mode. Screenshot 2025-10-02 at 2.06.15 PM.png

When a submission is recorded

A form with a payment page can’t move past the payment until Stripe responds. If a respondent abandons the payment or it’s declined, the response stays in progress and doesn’t trigger webhooks, Zapier, or other integrations. Some submissions come through without a completed charge:
  • Skipping the payment page - if page logic lets a respondent skip the payment page, that path submits without a payment. Keep the payment page on every path to the ending.
  • $0 checkouts - one-time payments that total 0, for example with a 100% discount code, submit with nothing charged.
  • Free trials - subscriptions with a free trial submit before anything is charged.
  • US bank account payments - these submit while the payment is still processing, before the money arrives. Fillout doesn’t update the payment status afterwards, so a submission stays even if the bank payment fails later.

Payment details in each submission

The payment field in each submission includes the payment status, total amount, currency, any discount code used, and the Stripe payment ID. The status is one of these: To act only on paid orders, for example in a Zapier filter, check that the status is exactly succeeded. Don’t use “contains”, or succeeded_free orders will match too. An exact match also leaves out US bank account payments, even after they clear, so check those in Stripe using the payment ID.

Pass form data to Stripe

Form fields, like a hidden field filled from a URL parameter, can’t be added to the Stripe payment’s metadata. Each submission includes both the field value and the Stripe payment ID, so you can match them in your own records. To store the value in Stripe too, add a Zapier step that updates the PaymentIntent metadata using the payment ID.

Reference the payment intent ID in integrations

You can save the Stripe payment ID to the integration of your choice by referencing it. Go to Integrate from the top menu and choose a platform. Under Mappings, click + Add new and look for Stripe Payment ID. Screenshot 2025-10-01 at 6.02.44 PM.png Stripe payment ids will look like “pi_3MKECGFiethEjGwr1TWmQ0rN” and allow you to tie a form submission to an actual payment in Stripe.

Dynamic payment page

Auto-update product and price by order.

Calculations

Calculate prices, compute scores, and more.

Hide fields

Hide or show fields based on answers, URL parameters or data.