How to Setup a Payment Order Form with Limited Stocks

November 26, 2021

When setting up Payment Forms, there are occasions when you would want to offer products with limited stocks. Yes, we have a variety of widgets that allow you to achieve that, but linking those widgets with an actual Payment Field to process payments is a bit tricky. And that’s the main topic of this guide.

We’ll be covering two use-case scenarios:

  • Bulk Purchases – Users can select a product with limited stocks and have them buy as many as they want until supplies last.

e.g. A user can buy 1, 10 or even 50 pieces of Product A with only 1000 limited stocks.

  • Single Purchases – Users can pick 1 product (and only 1 product alone) with limited stocks.

e.g. A user wants to buy Product B with a limited supply of 50 pieces.

NOTE: This is a fairly advanced topic so being familiar with the features below (doing calculations, using widgets, and payment gateways) would surely help.

In order to make it work, we’ll be using the following features:


Here’s a complete list of all payment processors we integrate with:

In case you’re not sure which one will work for you, we recommend this article: Which Payment Processor is Right for Your Business


a. Inventory Widget – Used for bulk purchases

b. Ticket Purchases Widget – Used for single purchases

c. Form Calculation Widget – Used for calculating the total

Related guide:How to Add a Widget to your Form

Let’s get started:

STEP 1 – For bulk purchases, add the Inventory Widget to your form.

One key ingredient to make this widget user friendly is to ensure that users know how much the product will be. So naming your product to something like Alpha $50 will hit two birds with one stone – Let your users know (1) the name of the product, along with (2) the price.

This is important because this widget will list your product description as opposed to traditionally having those details right on the Payment Field.

STEP 2 – Pass the value of the Inventory Widget to the Form Calculation Widget.

This part is relatively straight-forward. Since the widget uses the Quantity as the user input, the output would also be that same quantity they picked from the widget. So, just multiply that with the base price to get the total.

e.g. User selected 5 as the quantity x $50 = $250

STEP 3 – For single purchases, add the Ticket Purchases Widget.

Same with the Inventory Widget, ensure you will name your products and show the prices at the same time. And don’t forget to assign the number of stocks left per product:

Bravo $100{100}

Charlie $150{50}

Delta $200{25}

Echo $250{0}

The setup above basically means that the product Bravo costs $100 each and has 100 stocks left – Charlie is at $150 each with 50 stocks left, and so on. Just read and follow the help description right below that section to better understand your options.

It’s worth noting that with this approach, you should limit the selection to just one at a time to ensure that you’d only get one product chosen per submission, thus achieving a single purchase. These options are named Min Selection and Max Selection on the Ticket Purchase Widget wizard:

Setting both Min and Max selections to one would mean users should pick at least one item and can only pick one product from the widget.

STEP 4 – Combine both single and bulk purchases inside the Form Calculation Widget.

This is a simple computation, where:

Single Purchase = the price of the selected product (from the Ticket Purchase widget)

Bulk Purchase = quantity (from the Inventory widget)

50 = the base price of the product available for bulk purchasing

Related guide: How to Perform Form Calculation Using a Widget

STEP 5 – Pass the calculated total to the Payment Field.

To do this, set your payment field’s Payment Type to User Defined Amount > then point Get Price From to the Calculation Widget.

Related guide: How to Pass a Calculation to a Payment Field

See the form in action below:

Need more guidance? Visit our Support Forum so we can assist you.

Was this guide helpful?
Contact Support:

Our customer support team is available 24/7 and our average response time is between one to two hours.
Our team can be contacted via:

Support Forum:

Contact Jotform Support:

Send Comment:

Jotform Avatar
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Podo CommentBe the first to comment.