WordPress and Custom Forms – PayPal

Recently a client had a need to make some pretty complex forms.  In today’s article, I will talk about two options I found (paid and free) to make a form that will allow you to send the registrant directly to PayPal.



My client was using JetPack for a simple straight forward form. It was nice at the time of setup because it allowed us to add several fields and provided a nice view inside of WordPress (Feedback) where we could see a log of everything submitted using the form.  We also were able to add a ReCAPTCHA JetPack add-on for free after a quick google search.

The issue was after the registrant filled out the form, there was a disconnect sending them over to PayPal.  Often someone would register for a class but were too confused to find the link for PayPal (due to JetPack limitations and my client offering a wide variety of classes, we were unable to easily redirect them after form submission).

This was confusing for the registrant but also created more work for my client as she had to try to track down which ones completed the payment and which ones missed it.

Event Espresso

After much searching, I found a very lovely tool called Event Espresso.  This plugin creates a very pretty visual ‘checkout’ style page that shows what they are purchasing (event, class, etc) and what I really loved about it is that you are able to set the seats for that event so that you do not over-book.  There is a free version of this tool!  Unfortunately, the free version did not meet the needs of my client.

ContactForm 7

I have been using ContactForm 7 for many years (as have many WordPress developers!).  With just a couple of plugins that work with ContactForm 7, I was able to create the type of form we needed (many custom fields of required info), send them directly to PayPal with the correct class and price in place when checking out in PayPal, and log all of the form entries in the back-end the same way we were doing with the JetPack Feedback area.

The two plugins used  – Contact Form 7 – PayPal & Stripe Add-on and Contact Form CFDB7.

The only drawback to this method is that if you have a class or event that has more than 1 price option, you will need to create separate forms.  I was able to place more than 1 form on a registration page by using the DIVI Accordion Module.  To make it appear as needed (closed), I added one line of CSS code. You can read about that here as well.