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:
PAYMENT PROCESSORS
Here's a complete list of all payment processors we integrate with: https://www.jotform.com/apps/category/payment-processing
In case you're not sure which one will work for you, we recommend this article: Which Payment Processor is Right for Your Business
WIDGETS
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 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 purchase 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
Step-by-step explanation: