Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

How to Create a Donate Form for Nonprofit Organization using WordPress

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to be able to accept donations on your nonprofit website?

WordPress makes it easy for nonprofits to create a donation form and accept donations from their website.

In this article, we’ll show you how to create a donate form for nonprofit organizations using WordPress.

How to Create a Donate Form for Nonprofit Organization in WordPress

Why Create a Donation Form in WordPress?

The simplest way to solicit donations on your website is by adding a PayPal donate button, but it’s not the right solution for everyone.

Creating a custom donation form on your website instead of using a donation button allows you to:

  • Customize the form fields to gather the information you need
  • Keep donors on your own website for a more professional experience
  • Ask donors if they want to subscribe to your email newsletter in the same form
  • Use other payment processors besides PayPal, such as credit cards (Stripe)
  • Integrate with other third-party software such as a CRM or cloud storage

As you can see, there are plenty of benefits to keeping donors on your own website instead of redirecting them to PayPal.

You might think setting up a donation form on your website would be a tricky process, but there are WordPress plugins for non-profits that makes it easy.

Having said that, let’s take a look at how to create a custom donation form in WordPress.

Video Tutorial

Subscribe to WPBeginner

If you’d prefer written instructions, just keep reading.

We’ll show you how to create a nonprofit donation form in WordPress with WPForms and WP Simple Pay. You can click on the links below to go to the method you prefer:

Creating a Custom Donation Form in WordPress with WPForms

WPForms is the best drag and drop form builder for WordPress. It has a beginner-friendly interface and includes 1300+ pre-built form templates, including donation form templates to make the process even faster.

WPForms is a premium WordPress plugin created by WPBeginner’s founder, Syed Balkhi.

To create a donation form that can process payments, you can use the free version of WPForms, which allows you to collect one-time donations via Stripe. However, you have to pay 3% plus Stripe fees on payments made through your forms.

For this tutorial, we’ll be using the premium version of WPForms. It comes with pro addons for PayPal, Stripe, Square, and and includes powerful features like recurring payments. Plus, there are no additional transaction fees.

WPForms is used by over 6 million websites, and they do offer special non-profit pricing, which allows you to get a significant discount.

Step 1: Install and Activate WPForms

The first thing you’ll need to do is download the WPForms plugin on your website. For more details, you can follow our step-by-step guide on how to install a WordPress plugin.

Once the plugin is active, you’ll need to go to WPForms » Settings and enter your license key. You can find this information in your WPForms account area.

Enter WPForms license key

WPForms easily integrates with different payment services to collect donations, such as PayPal, Stripe, Square, and

Next, you’ll need to activate the payment addons of your choice in WPForms by heading over to WPForms » Addons and clicking the ‘Install Addon’ button.

Installing the PayPal addon for WPForms

Step 2: Create Your Donation Form

Now that WPForms has been installed and activated, you can go ahead and click on WPForms » Add New to get started.

You’ll now see a library of pre-built form templates you can choose from. Give a name to your form and hover over the Donation Form template to click the ‘Use Template’ button.

Create a new WordPress donation form

You’ll see a popup reminder that says ‘Don’t Forget: Click the Payments tab to configure your payment provider.’ Go ahead and click the ‘Close’ button.

Payment processor reminder

The donation form template includes fields for:

  • Name
  • Email
  • Donation Amount
  • Comment or Message

The Donation Amount field is a Single Item field where users can type in any amount they want to donate. You can also use multiple choice or dropdown fields instead.

In this tutorial, we’ll show you how to add a multiple-choice payment field with several donation amounts to choose from and an option to enter a different amount.

To add the multiple-choice payment field, click the ‘Multiple Items’ button under Payment Fields. You can drag and reorder the fields so that the Multiple Items field is directly above the Donation Amount field.

Add a multiple item field to your donation form

Next, you can click on the Multiple Items field in the form builder to change the options.

Go ahead and change the label to say ‘Donation Amount.’ Then you can enter whatever amounts you want and an ‘Enter amount’ option.

Customizing the multiple item donation amounts

Now, you can change the Single Item field to only display when the ‘Enter Amount’ option is selected.

To do that, simply click the Single Item field to edit the options.

Make sure the ‘Required’ checkbox is not checked, or it will prevent users from submitting the form if they selected a donation amount in the multiple-choice field above.

make sure this field is not required

After that, you can select the Enter Donation Amount field and scroll down a bit to go to the ‘Conditionals’ tab to enter the display settings for this field.

Next, check the ‘Enable conditional logic’ checkbox. Then select the option to Show this field if ‘Donation Amount’ is ‘Enter amount.’

setting the conditional logic

Make sure to click the Save button at the top right to save your changes.

don't forget to save your donation form

Step 3: Set Up Payment Integration

Next, you’ll need to set up the payment processor for your donations.

In this tutorial, we’ll walk you through setting up an integration with Paypal.

Setting up credit card payments with Stripe is very similar. For more details, you can check out this tutorial on how to use the WPForms Stripe addon.

From here, you can click on the Payments tab on the left and then click the ‘Paypal Standard’ option.

Select PayPal Standard in payment settings

Now, you can input your settings on the right side of the screen. First, check the ‘Enable PayPal Standard payments’ checkbox and enter your Paypal email address.

Then make sure to select ‘Donation’ in the Payment Type dropdown.

Enter your PayPal details

Below that, you can enter a URL to send visitors if they cancel the checkout process.

This might be a good opportunity to try to re-engage with users by sending them to a relevant blog post or asking them to follow you on social media to stay in touch.

You can also customize the shipping address options and choose whether to ask donors to include a note during the Paypal checkout.

For this donation form, you don’t need to use conditional logic. But you could do this if you wanted to add a donation option to another form, such as a survey. Then the payment would only process if the user selected the donation option.

Enter a cancel URL

Be sure to click the ‘Save’ button after you’ve configured all your options.

Step 4: Customize Your Notifications

Next, you’ll need to make sure that donors are receiving a confirmation email after they donate.

To customize the email notifications for your form, you can go to the Settings » Notifications tab.

Notification settings in WPForms

You’ll see there’s a default notification that will be sent to the site administrator. You can click the ‘Add New Notification’ button to create a separate notification for the donor.

Add New Email Notification

Now, name your new notification in the popup window and click the ‘Ok’ button.

Add a new notification name

After that, you’ll need to make sure this notification gets sent to the donor’s email address that they entered into the form.

To do that, click the ‘Show Smart Tags’ option next to Send To Email Address.

Click Show Smart Tags

In the list that appears, click Email. You’ll see a smart tag such as {field_id="1"} appear.

Select email smart tag

Now you can scroll down to customize the message the donor will receive.

Enter a message for your donors

Don’t forget to click the ‘Save’ button when you’re finished setting up your notifications.

Step 5: Place Your Donation Form on Your Site

Now that your donation form is complete, you’ll need to place it on your website.

You can easily add a WPForms block or embed your form in any post or page using a shortcode. The plugin even lets you place a donation widget in your sidebar or footer.

To add your form, simply edit an existing page or post. You can also create a new post or page for your donation form.

Once you’re in the WordPress editor, click the plus (+) sign at the top left corner and then add a WPForms block.

Add WPForms block to the editor

After that, you can select your donation form from the dropdown menu in the WPForms block.

Creating a WPForms block and selecting your form from the dropdown list

Now publish your post or page to see the donation form in action.

Donation form preview

Creating a Custom Donation Form in WordPress with WP Simple Pay

WP Simple Pay is one of the best Stripe payment plugins for WordPress. It comes with an easy payment form builder and ready-made form templates including a donate button form. 

WP Simple Pay offers a free version of the plugin with basic features which is sufficient for non-profit organizations. The Pro version comes with additional features like on-site payment forms, custom form fields, user-entered credit card amounts, which are great for donations, and more.

For the sake of demonstration, we’ll be using WP Simple Pay Pro for this tutorial, but the free version process is exactly the same.

Step 1: Install and Activate WP Simple Pay

First, you need to install and activate the WP Simple Pay plugin on your WordPress site. For instructions, you can follow our step-by-step guide on how to install a WordPress plugin.

Once the plugin is activated, you need to go to the WP Simple Pay » Settings page, click on the License tab, and enter your license key. You can find the license key in your account area on the WP Simple Pay website. 

Add WP Simple Pay license key

Next, you need to connect your Stripe account in order to accept donation payments online. 

On the Settings page, click the Stripe tab and then click on the ‘Connect with Stripe’ button. 

Connect Stripe account to WP Simple Pay

You’ll then see the Stripe website where you can log in to your account. If you don’t have a Stripe account, you can create a new one. 

Log in to Stripe

After connecting your Stripe account, you’ll be taken back to the settings page on your admin dashboard. 

Don’t forget to click on the Save Changes button to save your Stripe account connection. 

Step 2: Create a New Donation Form

Now that the plugin is activated and your Stripe account is connected, go to the WP Simple Pay » Add New page to create a donation form. 

To get started, you can pick a form template from the list. Hover over the Donate Button template option and click the ‘Use Template’ button.

WP Simple Pay donation form template

Next, you’ll be taken to the form builder where you can customize your donation form. 

On the ‘General’ settings tab, you can enter a form title and description, and select the form type. 

Create a new donation form and add title

There are three form types to choose from: 

  • Embedded – Add a form directly to your WordPress site and keep users on-site for the payment process. 
  • Overlay – Display an overlay payment form, similar to a popup, and keep users on-site for payments. 
  • Stripe Checkout – Use an off-site payment flow that’s optimized for conversions. 

For this tutorial, we’ll choose the Embedded form to embed a donation form directly on any page or post in WordPress.  

Next, click on the ‘Payments’ tab to add custom donation options. 

WP Simple Pay allows you to add multiple donation prices so that donors can choose the amount they want to give. For example, you can create donation options for $1, $5, and $10.

Simply click the ‘Add Price’ button and enter the amount. Repeat this process to add as many donation options as you want.

WP Simple Pay payment settings

You can also give users an option to donate whatever amount they want.

Click the ‘Add Price’ button and then check the ‘Allow amount to be determined by user’ option. Then, change the label to say ‘Enter Amount’ and set a minimum amount.

Add amount to be determined by user donation option

In addition, by clicking the dropdown arrow next to each pricing option, you can choose whether you want to accept one-time or subscription (recurring) donations.

Add recurring donations WP Simple Pay

Next, click on the ‘Form Fields’ tab. The Donate Button template already includes the pricing options, checkout button, and payment button form fields. 

If you want to add more form fields like name and email address, simply choose it from the dropdown menu and click the ‘Add Field’ button. 

Add form fields with WP Simple Pay

You can rearrange the form fields by dragging and dropping them into place.

Step 3: Add the Donation Form to Your Site

Now it’s time to publish your donation form and add it to your website. 

First, click the Publish button on the right side of the screen.

Publish WP Simple Pay donation form

Next, copy the simple shortcode above the Publish button. It looks like this:[simpay id="299"]

WP Simple Pay donation form shortcode

Then, you can paste the shortcode into any WordPress post or page. 

When you paste the shortcode into the WordPress editor, the shortcode widget will be automatically added. Then, publish the post or page.

Paste WP Simple Pay form shortcode

That’s it! Now you can visit your website to see how your donation form looks on the frontend.

Example donation form made with WP Simple Pay

Note: WP Simple Pay is set to test mode by default. This is to ensure no live transactions are processed on your site before the form is ready. Read this guide to learn how to take your payment form from test mode to live mode.

Bonus: Create Advanced Fundraising Campaigns

Although you can create donation forms with WPForms and WP Simple Pay, they don’t offer the advanced fundraising features that many nonprofits need.

If you need a full-featured donation plugin, then we recommend using WP Charitable. It’s used by over 10,000+ nonprofits to raise more donations online.


Charitable allows you to create unlimited fundraising campaigns with fully customizable donation forms. It also comes with powerful features like recurring donations, crowdfunding, peer-to-peer fundraising, a donation management dashboard, annual donor receipts, and much more.

There’s also a free version of Charitable to get you started.

We hope this article helped you learn how to create a nonprofit donation form in WordPress. You may also want to see our detailed tutorial on how to start an online store or this guide on how to speed up your WordPress site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

10 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Mrteesurez says

    Thanks for the guide. Yes, I also see it beneficial to keep donors on site instead of just redirecting them especially to be able to customize the form to attract donors and sometimes subscribe them for follow-up email depending on the motive of the campaign.
    The post is beneficial, thanks.

  3. Atiq Ur Rehman says

    Can you please publish article on gravity forms? I’ve their developer license also. I need it for my website

  4. Emmanuel says

    Most nonprofits use a button on the header that leads to a donation form rather than creating a page for it, isn’t that better.

  5. Adrienne says

    ask donors if they want to subscribe to your email newsletter in the same form

    You can now do this with the new PayPal process.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.