This tutorial will break down step-by-step how to create a Gravity Forms conditional payments form that will allow you to collect cash, checks, or credit cards.
When using Gravity Forms to process payments you will also need one of their payment add-ons (i.e. Stripe, Square, PayPal, Authorize.net, etc) to handle the actual collection of payment details and the collection of funds.
But the problem many users run into is what do they do when they want to accept cash or check, otherwise referred to as in-person payments, but also give the user the option to pay by credit card online.
To address this very common issue, I’ve created this step-by-step tutorial. You can however jump directly to the route cause of the issue if you go to minute 7:20 in the video below.
Requirements
- Gravity Forms (any license type)
- A payment add-on, I am using the Stripe Add-On
- About 12 minutes to go through the full tutorial
Need help installing and setting up the Stripe Add-On, please refer to this step-by-step tutorial: Setting Up The Gravity Forms Stripe Add-On
Step 1: Building Your Form
For demonstration purposes, I will build a very simple form, but you can use this method for any type of payment form where you want to accept credit cards or in-person payments such as cash or check.
The Fields:
- Name
- Radio Button
- Single Product
- Stripe
Note: This is a screenshot of the fields in Gravity Forms compact view.
Fields Explained:
- Name & Email Fields
These should be self-explanatory. These are the basic fields almost every form will have. In this case, I want to know who is purchasing and be able to email them a receipt.
These fields need to be Required
- Radio Button Field
This is the field we will use to give the user the option to select how they’d like to pay. In this demo, we’ve labeled the field How would you like to pay? and used the choices, Cahs/Check and Credit Card.
This field needs to be Required
You could technically use and choice-based field (i.e. checkbox, radio, dropdown), I however would not recommend a multi-select field such as the checkbox, because you want the user to make a definite decision, otherwise the required logic will not work.
- Single Product Field
For demonstration purposes, I am using a single product field, but you can use any of the product field types if they better fit your use case.
Depending on the field type you use, for example, if you make this a multi-choice field, or a user-defined field, you will want to make it Requied. However, in my case, because it is a single product field it is automatically applied.
- Stripe Field
You can configure the field settings however, you’d like here. Enable the advanced payment methods, turn off the cardholders name field, etc, this is entirely up to you and how you want to accept online payments.
The important part of configuring conditional payments that support cash, checks, or credit cards is in how you configure the conditional logic for this field.
You will want to SHOW the field when How would you like to pay? IS Credit Card.
This will hide the card field if the user selects any other choice, in this case, Cash/Check.
Now that you have your form set up, be sure to save your work before moving onto the next step.
Step 2: Setting Up the Stripe Feed
As previously mentioned, you can use any of the payment add-ons, you do not have to use the Stripe add-on, I am using this for simplicity in the demonstration only.
- Go to Settings > Stripe (or your payment add-on)
- Click Add New
- Name your feed
- Select your Transaction Type
You can use either option, I will be using Products and Services to simplify the demonstration.
- Select your Payment Amount
Depending on your form and use case, you may need to select a specific product field, but in the demo, I am using Form Total because I have only one product and it is my preference.
- Map your fields if applicable
- Enable Conditional Logic
This is CRUCIAL, and the step most users miss. If you do not enable conditional logic for the feed, your form will not work! The logic will ensure that the payment feed is only processed when the user selects the option to pay by credit card.
If you do not do this, the payment add-on will attempt to process the feed for every transaction, even when the user wants to pay with cash or check, this will cause an error.
- Click Save Settings
Watch the Full Tutorial
This video will walk you through step-by-step and includes commentary and an explanation for how Gravity Forms and the payment add-ons work.
If you don’t want to watch the complete tutorial and get to the root of the issue, jump to minute 7:20 in the video above.
The Wrap Up
I could have just created a quick two-minute video explaining the issue and telling you to add conditional logic to the payment add-on feed, but I also wanted to make sure anyone wanting to use Gravity Forms or conditional payments that accept either cash, check, or credit card, can complete the task without issue.
Minute 7:20 of the video explains that you need to add conditional logic to the payment add-on feed to bypass the feed when accepting a non-credit card payment such as cash or check.
As always, if you have questions or need additional support, be sure to use the comments below and we’ll get back to you.
Related Tutorials
Interested in other types of conditional payments? Check out the tutorials below: