This tutorial will be helpful if you’re trying to figure out how to allow your users to select from multiple payment types and/or gateways with a single Gravity Forms form. This is also referred to as Conditional Payments.
For example:
- Do you need multiple payment types, i.e Credit Card, Check, Cash?
- Do you need the option for different payment gateways, i.e Stripe, PayPal, Square?
Yes, you can even do both in the same form!
Prerequisites
- Gravity Forms Pro or Elite License
- Your Payment Accounts Setup (i.e Stripe, Square, PayPal)
- The Gateway Add-Ons installed and connected
Note: I will not be showing you how to setup your Payment accounts or how to setup the individual gateway add-ons.
The Gravity Forms doc site does have detailed tutorials on how to setup the gateway add-ons and I have linked to the three I will be using in this tutorial below:
Part 1: Creating Your Form
This is basically the same process you would follow to create any type of form, however, in this case we will need a couple specific form fields and some conditional logic.
- A Product Field
- Credit Card Fields
- Radio or Dropdown Choice Fields
The Steps:
- Go to Forms > New Form
- Name your form
- Add the desired fields to your form
- Setup the conditional logic
This video provides the instruction for steps 1-3 above.
This video will walk you through step #4, setting up the conditional logic.
Part 2: Setting up Payment Feeds
Now, we need to get your forms connected to the different payment gateways. Creating feeds is pretty much the same across all add-ons, but I have put together a short video showing you how to setup these feeds.
The Stripe Feed
The Square Feed
The PayPal Feed
Part 3: Setting up Conditional Payments
This is the part most people miss or just don’t understand. But it is the most important part to making conditional payment options and gateways work.
We will be modifying the feeds we created in the previous step for all three gateways.
Technically we could have set this up when creating the feeds, but I wanted to be able to clearly explain this part without the added steps of setting up the feed.
The Stripe Feed
The Square Feed
The PayPal Feed
The Wrap Up
After completing the steps outlined above, you will have a form setup and ready to accept payments from multiple payment gateways, and in different payment types (i.e cash, credit card, etc).
In this video you can see all your hard work come to life:
It really is just a process of setting up the correct conditional logic and making sure you don’t forget Part 3, setting up the conditional logic on the payment feeds.
What’s Next?
I will be posting two more tutorial that will show you how to build a form that uses Conditional Payments to accept donations on a one-time or recurring process and how to setup a form to accept a downpayment that rolls into a recurring monthly charge after the first 30 days.
Have questions? Need additional assistance, use the comments and/or chat below!
Far out searched for hours for the solution to the “unable to authorise card. no response from stripe.js” error showing in my form, and the solution was this conditional logic Stripe feed setting which I have only seen here. Thank you!!
Hi Chris, are you aware on how you may use the current version of PayPal Checkout with a different PayPal Account on different forms?
Hi JP,
I do not believe the PayPal Checkout add-on supports using multiple PayPal accounts. If it did, I would suspect that it would be like the Stripe and Authorize.net add-ons where you can override the default settings in the feed settings.
-Chris
This is great. I am wondering it I can change the message “The credit card field will initiate once the payment condition is met.” to something like The credit card field will initiate if you choose to add to your order”.
My clients prepaid and this payment gateway is for the upsell. Otherwise I want the submit button to function as usually indicating their pre-paid selections.
Thank you.
Hi Kathryn,
If the CC field is conditional (or optional) based on the users selection, have you tried using conditional logic to hide the CC field until the proper conditions are met? That should bypass the message. If it doesn’t are you able to provide a link to your form so that we can take a look at your setup?
Thanks,