> ## Documentation Index
> Fetch the complete documentation index at: https://fillout.com/help/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment page

> Collect one-time, subscription payments, and user-defined amount via card, link wallet, US bank account, or Affirm with a Stripe-powered payment page. Set a dynamic product name and purchase amount based on user input, and optionally send a receipt.

## How to add a payment page

<Steps>
  <Step title="Select a payment type">
    Click `+ Add page` and choose **Payment**.

    <img src="https://mintcdn.com/fillout-005a867b/w6AHTyvslXuvnpbZ/images/Screenshot2025-10-01at5.52.03PM.png?fit=max&auto=format&n=w6AHTyvslXuvnpbZ&q=85&s=151a73ef4e78d76d6229bfa20131ef33" alt="Screenshot 2025-10-01 at 5.52.03 PM.png" width="2632" height="1434" data-path="images/Screenshot2025-10-01at5.52.03PM.png" />

    Select 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

    <Check>
      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.
    </Check>
  </Step>

  <Step title="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](/fetch-dynamic-data) by clicking <Icon icon="square-plus" iconType="solid" /> or typing **@** to reference a specific field.

    <img src="https://mintcdn.com/fillout-005a867b/w6AHTyvslXuvnpbZ/images/Screenshot2025-10-01at5.31.36PM.png?fit=max&auto=format&n=w6AHTyvslXuvnpbZ&q=85&s=93772092961fe9ad92788c56f4fafaae" alt="Screenshot 2025-10-01 at 5.31.36 PM.png" title="Screenshot 2025-10-01 at 5.31.36 PM.png" style={{ width:"72%" }} width="1509" height="970" data-path="images/Screenshot2025-10-01at5.31.36PM.png" />

    In 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.

    <Warning>
      Fillout doesn't support automatically adding VAT to the prices, even if the option is enabled in your Stripe account. You can use [calculations](/calculations) to obtain a price with taxes included, and then [use that calculation as the price](/dynamic-payment) in the payment page.
    </Warning>
  </Step>

  <Step title="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.

    <Tip>
      You can test your live form without getting charged. Create a 100% off coupon in Stripe, then enable the "[Discount Codes](https://www.fillout.com/help/payment-page#add-discount-codes)" option to apply it during checkout. Once testing is done, just toggle the discount codes back off.
    </Tip>
  </Step>
</Steps>

## 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

<img src="https://mintcdn.com/fillout-005a867b/uPSDjH70ZBDmKkWQ/images/Screenshot2025-10-02at1.49.01PM.png?fit=max&auto=format&n=uPSDjH70ZBDmKkWQ&q=85&s=13e5b217bfb968b58e681fa373f3685e" alt="Screenshot 2025-10-02 at 1.49.01 PM.png" title="Screenshot 2025-10-02 at 1.49.01 PM.png" style={{ width:"54%" }} width="648" height="622" data-path="images/Screenshot2025-10-02at1.49.01PM.png" />

* **Show testimonial** - to help increase checkout rates
* **Show disclaimer** - to clarify terms and reduce disputes over returns, shipping, and other necessary info

<img src="https://mintcdn.com/fillout-005a867b/ddfNMFubzIE7ranp/images/Screenshot2025-10-01at6.05.08PM.png.avif?fit=max&auto=format&n=ddfNMFubzIE7ranp&q=85&s=42d1d635611200da1223bfd0e0939493" alt="Screenshot2025-10-01at6.05.08PM.png.avif" title="Screenshot2025-10-01at6.05.08PM.png.avif" style={{ width:"54%" }} width="648" height="622" data-path="images/Screenshot2025-10-01at6.05.08PM.png.avif" />

* **Send Stripe receipt** - after a successful purchase. Be sure to enabled the [collect email](https://www.fillout.com/help/payment-page#create-a-new-stripe-customer) switch.

<img src="https://mintcdn.com/fillout-005a867b/zDAJbQrwFXctWUtv/images/Screenshot2025-10-01at6.06.11PM.png?fit=max&auto=format&n=zDAJbQrwFXctWUtv&q=85&s=bb790a035f56045e9755379c43482073" alt="Screenshot 2025-10-01 at 6.06.11 PM.png" title="Screenshot 2025-10-01 at 6.06.11 PM.png" style={{ width:"55%" }} width="648" height="278" data-path="images/Screenshot2025-10-01at6.06.11PM.png" />

Here's a sample of what it would look like. Note that receipts are not sent in Fillout preview mode.

<img src="https://mintcdn.com/fillout-005a867b/ddfNMFubzIE7ranp/images/Screenshot2025-10-02at2.06.15PM.png?fit=max&auto=format&n=ddfNMFubzIE7ranp&q=85&s=add74ba463707aa455a5f4a001bd1385" alt="Screenshot 2025-10-02 at 2.06.15 PM.png" title="Screenshot 2025-10-02 at 2.06.15 PM.png" style={{ width:"63%" }} width="1108" height="1190" data-path="images/Screenshot2025-10-02at2.06.15PM.png" />

## 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.**

<img src="https://mintcdn.com/fillout-005a867b/w6AHTyvslXuvnpbZ/images/Screenshot2025-10-01at6.02.44PM.png?fit=max&auto=format&n=w6AHTyvslXuvnpbZ&q=85&s=7425d6c376d529dfc1dc0e73ce98b330" alt="Screenshot 2025-10-01 at 6.02.44 PM.png" title="Screenshot 2025-10-01 at 6.02.44 PM.png" style={{ width:"58%" }} width="780" height="588" data-path="images/Screenshot2025-10-01at6.02.44PM.png" />

Stripe payment ids will look like "pi\_3MKECGFiethEjGwr1TWmQ0rN" and allow you to tie a form submission to an actual payment in Stripe.

## Related articles

<CardGroup cols={3}>
  <Card title="Dynamic payment page" color="#FFC738" icon="cart-shopping" iconType="regular" href="/dynamic-payment">
    Auto-update product and price by order.
  </Card>

  <Card title="Calculations" color="#FFC738" icon="calculator-simple" iconType="regular" href="/calculations">
    Calculate prices, compute scores, and more.
  </Card>

  <Card title="Hide fields" color="#FFC738" icon="eye-slash" iconType="regular" href="/conditional-hiding">
    Hide or show fields based on answers, URL parameters or data.
  </Card>
</CardGroup>
