Accept donations on WordPress

How would you like to have a donation form like the one below on your website? Pretty neat, huh?

In this post, I’ll show you not only how to create a form just like that, but also how to set up the backend – how to collect donations and have them deposited to an account of your choosing.

example donation form in WordPress

We will do this with two free-to-sign-up tools: Stripe (the brain of the operation) and WP Full Pay (the plugin that handles the WordPress integration). And, of course, your website needs to be running on WordPress, but I guess you have that part handled already.

Why use Stripe for donations?

The great thing about Stripe is that it handles the heavy lifting when it comes to processing all the payments and also allowing money to come from all different directions and using all different forms of payment.

For starters, Stripe handles credit cards, debit cards, Apple Pay, Google Pay, and even bank transfers in some cases. That means your donors don’t have to jump through hoops or sign up for extra accounts just to send you money. Fewer steps mean more completed donations.

Security is another big reason to choose Stripe. It’s built to handle online payments safely, with fraud protection and encryption baked in. You don’t have to store sensitive payment details on your site, which lowers your risk and keeps things compliant with local laws and industry standards.

From your point of view, Stripe first processes the donations and then deposits them into your bank account on a rolling basis.

Finally, Stripe is flexible. Whether you want to set up one-time donations, recurring contributions, or even custom donation amounts, it’s all possible.

With all that being said, there is one thing to be aware of, and that thing are Stripe fees. In short, Stripe charges around 2.9% + $0.30 per each transaction/donation handled. This is basically your cost of getting access to Stripe itself and all its features for free.

Step 1: Sign up with Stripe

The Stripe setup is surprisingly easy compared to some of the other advanced solutions of this type on the market.

It’s basically this:

  1. Go to the Stripe website – Head over to Stripe.com, enter your email address in the main box and click Start now.
  2. Create your account – Enter your email again, name, and a secure password. Depending on your location, Stripe might ask for more details. Stripe is a global company, so they are required to adhere to the local laws and regulations of each country they’re in.
  3. Set up your organization profile – Stripe will ask for various details like your organization name, type, website, plus some additional details depending on the country where your organization is based.
  4. Complete your profile and verify – Again, there might be additional steps required for you to go through in the Stripe dashboard depending on your organization type and country. The setup guide will take you through those.

Once your account is ready, you’ll get access to your Stripe dashboard. I encourage you to look around, see all the different settings and features available there – just to get more familiar with how things work.

Of course, you will also need to provide details like your bank accounts, tax situation and so on – if you haven’t done so already during setup.

stripe dashboard
⚖️ DISCLAIMER

The WP Full Pay plugin is being maintained by the same team that’s behind Themeisle.

Step 2: Install WP Full Pay

WP Full Pay is the plugin that we’re going to use to integrate Stripe with your WordPress website. The plugin is free to install.

To get it running on your site, log in to your WordPress dashboard, go into Plugins → Add New and enter “WP Full Pay” into the box. You’ll see the plugin on the list:

plugin listing

Click on Install Now and then Activate.

When you do that, you’ll be taken to the onboarding wizard:

install wizard WP Full Pay

Click on the Connect with Stripe button to get the integration started. There might be some additional authentication steps for you there depending on how far you got into your Stripe account creation and verification.

If your Stripe account has been fully set, you will be able to pick it from the list:

connect with Stripe

Click on the Connect button to continue.

When the connection is made, you’ll be taken back to the WP Full Pay interface:

opt-in

Here you have an option to subscribe for payment tips via email.

And with that, the core of the integration is done!

done

Step 3: Create your first donations form

At this point, your Stripe account has been connected with your WordPress site and you can now start creating all sorts of payments forms with WP Full Pay – including donations forms. So let’s do that now!

To begin, go to Full Pay → Payment Forms. Click on Add form:

add form

From there, set a name for your form – the name itself is not important as it will not show anywhere on your site – it’s just information for you. Also, and this is important, pick Donation as the type of form:

create donation form

Next, pick if you want your form to be a Checkout form or Inline:

checkout or inline
  • The main difference between the two is that the checkout form will send the visitor over to Stripe.com to complete the donation – enter their credit card info and so on.
  • The inline form will display all the payment information on your site – meaning that the person won’t have to leave your site to get everything done.

If you want to learn more about the differences, here’s a page in the docs.

In my opinion, picking Checkout is a simpler approach that’s also potentially more reassuring for the person making the donation. It’s just that not everyone might be willing to enter their credit card on a random site, but would rather do it at Stripe.

So, in most cases, select Checkout and then click on Create & edit form.

You will be taken to a new settings screen:

donations form settings

The first tab of the settings – General – lets you tweak the name of your form plus, more importantly, decide what you want to have happened after a successful payment. Going with the default “Show confirmation message” is good for starters.

You can switch to the next tab – Payment:

payments tab

This one is where things are starting to get interesting!

First off, you should set the currency and your organization’s country in the first two fields.

Then, you get to set the suggested donation amounts. WP Full Pay will include some pre-defined values there, but you can delete any of them using the trash can icon, and also add new ones by clicking on Add suggested donation amount.

You can also let people enter their own donation amounts, plus set minimum donation amount accepted. There’s no good or bad way to handle those settings. It all depends on the type of organization you’re running and the donations you’re asking for.

Next, and this is the real functional part(!), you can also set whether the donation should be a one-off one, or do you want to make it a recurring donation. This is a game-changer setting if you’re a nonprofit looking to make your supporters’ lives easier.

recurring donations

Next, whether you want to (or are required to) generate an invoice for the donation depends, again, on your legal situation.

If all the details on the page are looking good, you can switch to the Appearance tab. Here’s the first section of it:

appearance tab

This one’s pretty basic; you can set the label of the donation button plus also change the name and description of the donation “product” – you can ignore these details.

Next, we have a couple of interesting settings:

donation goal

Donation product image gives you a nice opportunity to add some friendly photo or badge to your donation form.

Then the box called Show donation goal is where you can set a goal amount to be displayed in your form. This settings is optional, so you don’t have to use it, but if you do, it will add a nice visual representation to how far you are towards securing your goal.

Lastly, you can set your currency display locale.

payment locale

Again, if all looks well, you can switch to the Form Fields tab:

form fields

If required, you can set additional form fields to appear together with the donation button. If the provided pre-defined set of fields is not enough, you can also set completely custom fields using the Add field button.

We’re nearly done!

The Email Notifications tab is where you can enable receipts to be sent to anyone who makes a donation.

  • The first option is to have WP Full Pay send the email
  • The second option is to have Stripe do it

The choice is up to you, though probably a more dependable solution is to have Stripe send the notifications.

At this stage, you can click the Save Changes button at the bottom!

(While there is a final tab called Webhook, we’re not going to get into that one since it’s for more advanced setups, commonly requiring custom development.)

You’ve just created your first donations form, congrats! You should see it on the list:

list of forms

Step 4: Add your donation form to any page or post

The great thing about this way of handling your donation forms is that you can now put that form in any one of your posts or pages.

For example, you can ask for donations in the middle of blog posts, or in special pages for specific fundraising campaigns. It’s basically all up to you.

To start, just pick any post or page you wish and start editing it normally, or create a new page by going to Pages → Add New.

Once there, you can add your donation form using the block editor, like so:

add form
  1. Click on the plus icon in the top left corner
  2. In the search field, enter “wp full pay”
  3. Click on the for block to add it to your page

Now just pick your donation form from the dropdown. This will be easy if you have only one form created so far:

form added

Save the page and publish it.

And…that is it.

At this point, your donation form is live, and anyone who fills it out and goes through with the steps will have successfully donated money to your cause!

The form might look something like this:

example donation form

However, with a couple of minutes of work in the block editor, you can make it look a lot better. For example:

fancy donation form

Make your move!

In this post, I’ve walked you through the basics of setting up a donation form in WordPress. We’ve gone through the basic features of the WP Full Pay plugin, the Stripe integration, and how to set up your first form.

I encourage you to spend some extra time in the plugin’s interface to learn all the other great things it can do for you – particularly if you ever want to start selling products or services.

Last but not least, remember to test out your form and make sure things are working properly before you start publicizing it among your followers and supporters!

Let me know if you have any questions about the process or this whole integration.

Yay! 🎉 You made it to the end of the article!

1 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Adrian Mahlstede
June 29, 2018 9:01 pm

Hello! How do I enable Recaptcha on my Give Forms?

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!