Loading Now

How to Accept Donations on WordPress: For Nonprofits or Anyone Else

How to Accept Donations on WordPress: For n-Profits or Anyone Else

Would you like to add a donation form like the one below to your website? Pretty neat, huh?

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

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 run on WordPress, but I assume you already have that handled.

Why use Stripe for donations?

The great thing about Stripe is that it handles the heavy lifting of processing payments, accepting money from different sources, and supporting different payment methods.

For starters, Stripe handles credit cards, debit cards, Apple Pay, Google Pay, and, in some cases, bank transfers. 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 built-in fraud protection and encryption. 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.

That said, there is one thing to be aware of: Stripe fees. In short, Stripe charges around 2.9% + $0.30 per transaction/donation handled. This is basically the cost of accessing Stripe 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 w.
  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 organisation profile – Stripe will ask for various details like your organisation name, type, website, plus some additional details depending on the country where your organisation 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 organisation 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.

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:

Click on Install w and then Activate.

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

Click Connect with Stripe to start the integration. You may need to complete additional authentication steps there, depending on how far you got in your Stripe account creation and verification.

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

Click on the Connect button to continue.

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

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

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

Step 3: Create your first donations form

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

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

From there, set a name for your form. The name matters because it shows anywhere on your site; it’s not just for you. Also, and this is important, pick Donation as the type of form:

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

  • The main difference is that the checkout form sends the visitor to Stripe.com to complete the donation, enter their credit card info, and so on.
  • The inline form displays all payment information on your site, so the person won’t have to leave to complete the donation.

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. Not everyone might be willing to enter their credit card on a random site, but they’d rather do it through Stripe.

In most cases, select Checkout, then click Create & edit form.

You will be taken to a new settings screen:

The first tab of the settings – General – lets you tweak the name of your form plus, more importantly, decide what you want to happen 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 is where things start to get interesting!

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

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

You can also let people enter their own donation amounts, plus set a minimum donation amount accepted. There’s a good or bad way to handle those settings. It all depends on the type of organisation 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, or if you want to make it a recurring donation. This is a game-changer setting if you’re a nprofit looking to make your supporters’ lives easier.

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

If everything on the page looks good, you can switch to the Appearance tab. Here’s the first section of it:

appearance tabappearance 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 product image gives you a nice opportunity to add a 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 setting is optional, so you don’t have to use it, but if you do, it will add a nice visual representation of how far you are towards securing your goal.

Lastly, you can set your currency display locale.

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

If required, you can set additional form fields to appear together with the donation button. If the provided pre-defined set of fields is tough, 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 donation form, congrats! You should see it on the list:

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 w 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:

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

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

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 completes the steps will have successfully donated to your cause!

The form might look something like this:

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

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 extra time in the plugin’s interface to learn all the other great things it can do for you, especially if you ever want to start selling products or services.

Last but t 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.

Share this content:


Discover more from Qureshi

Subscribe to get the latest posts sent to your email.

Discover more from Qureshi

Subscribe now to keep reading and get access to the full archive.

Continue reading