Get access to free tutorials, exclusive content and more.

Accept Donations in Your WordPress Form (One-time & Recurring)

Do you need a way to start accepting donations using your WordPress website? There are so many options, finding the right tool for you can be the tough part. Many of them do all the things. And they can get pretty complicated to set up and use, too. It’s easy to miss simpler options, like this one: did you know that you can accept donations in your WordPress form?

Simple doesn’t mean limited. With Ninja Forms, you can open up tons of options to accept donations with WordPress forms. The real question is, what would you like to do? This article will walk through:

  1. How to create a donation form in WordPress
  2. Choose to offer a fixed amount, donor-entered amount, or both!
  3. Offer a recurring monthly donation option
  4. Send personalized thank you email and a PDF receipt.
  5. Manage donor and donation records

Get started by creating the basic donation form you need, then follow the steps you’re interested in and ignore the rest!natio

1. How to create a donation form in WordPress

Here’s all you’ll need to get started

  1. The core Ninja Forms plugin (free download)
  2. A payment add-on to process the donations

Ninja forms core is free and available to download on the page linked above or in your WordPress site’s dashboard.

We partner with PayPal to provide the best possible experience from form creation to donation confirmation. Through PayPal, your donors will have access to the widest range of donation options from PayPal standard payments to credit card, Venmo, and more. PayPal is included in select Ninja Forms membership plans and available as the a la carte PayPal Checkout add-on. We also have other payment add-on integrations with Stripe, Authorize.net, and more.

Donation form creation options

Option 1: Start with a prebuilt template

This Donation Request Form template has what you need to get started with a really basic donation form. It has a radio field where the donor can select an amount alongside fields for donor info and notes. It will process using the built-on PayPal action (requires the PayPal Checkout add-on).

You can customize it to fit your style if it’s close enough. Or, you can…

Option 2: Build from scratch

Building even a large donation form is quick and easy with our drag and drop WordPress form builder. Give donors the option to pay a fixed or user-entered amount. Accept one-time or recurring donations. Offer a variety of donation options (PayPal, credit card, Venmo, and more). Send personalized thank you email. Manage donor and donation records easily within WordPress or export to a manage via spreadsheet or other tool of choice.

Don’t worry, we cover every option in detail below. Just pick what you want to do and read on!

2. Accept donations with a fixed or donor-entered amount… or both!

If you want to:

  • Let donors choose a fixed donation amount from options in a list
  • Let donors enter a custom amount
  • Allow donors to choose between fixed or custom amounts

This section details how it’s done. Examples in this section are presented using the PayPal Checkout add-on. Stripe, Authorize.net, and Elavon integrations would also work just fine.

Let the donor select from a list of fixed gift amounts

You can set up a form to accept fixed donation amounts in just 2 steps!

1. Set up your gift amount field

Any of the following fields can be used to accept a donation value:

  • Single Checkbox: let donors select a single amount
  • Checkbox List: let donors select one or more amounts
  • Select List: let donors select a single amount from a dropdown
  • Multi-Select: let donors select one or more amounts from a dropdown
  • Radio List: let donors select a single amount from a list
  • Select Image: let donors select one or more amounts with an image
  • Number: let donors enter an amount

For this example, we’ll use a Radio List field. You’ll be able to set as many fixed amounts as you want, and the donor will be able to choose one.

The Radio field can be built to have as many individual donation amounts (list options) as you want. Each list option has three parts:

  • Label: Enter the donation amount option as it will appear to the user here
  • Value: Enter the donation amount as it will appear in your submissions record here
  • Calc Value: Enter the donation amount that will be processed by PayPal here

2. Set up the PayPal action

Do not complete this step if you only want to accept recurring donations. Move on after you’ve added your fields. 

With your site connected to PayPal, all you need to do is add a PayPal Checkout action and tell it to take the payment total from your gift amount field. That’s as easy as:

  • set Get Total From to “Field”
  • set Select Field to the gift amount field you created

image of paypal action settings window with different payment field options available for selection

Don’t forget to set your PayPal payment options. PayPal standard and credit card payments are enabled by default. You can also accept Venmo and bank debit in your donation form, among other options.

Let the donor enter their own gift amount

This is easy!

1. Set up your gift amount field

Add a Number field to your donation form. Set the minimum and maximum donation values (leave max blank for unlimited). Use “Step” if you want donations in specific increments only, like by steps of five, ten one-hundred, etc.

number field for paypal express donations

2. Set up the PayPal action

Do not complete this step if you only want to accept recurring donations. Move on after you’ve added your fields. 

Now, like above, you just need to configure the PayPal action. Do not complete this step if you only want to offer

With your site connected to PayPal, all you need to do is add a PayPal Checkout action and tell it to take the payment total from your Number field. That’s as easy as:

  • set Get Total From to “Field”
  • set Select Field to the Number field you created for gift amount

Don’t forget to set your PayPal payment options. PayPal standard and credit card payments are enabled by default. You can also accept Venmo and bank debit in your donation form, among other options.

Let the donor choose between a fixed or custom gift amount

For this options, follow the instructions in both of the sections above. You will wind up with a Radio List field for choosing a set amount and a Number field for entering a custom amount.

This option requires the Conditional Logic add-on to be installed and activated. Don’t forget that we have membership plans that bundle PayPal and Conditional Logic!

On your Radio list, add one additional list option and set it up with a Label of “Other” and a Value of “other”. Leave the Calc Value blank.

image of the gift amount field with an additional list option added named Other, a Value of Other, and a blank calc value

Now add an additional Radio List field. This field will give the donor an option to select one-time or recurring as the donation type.

Now click the Advanced tab and go to Conditional Logic. Add a new logic statement. Configure so that when Gift Amount has selected Other, show the Number field, hide if not.

image of a logic statement that hides the number field unless other is selected from the gift amount field

Now the Number field will not appear on the form unless the donor selects “Other” from the Gift Amount field!

3. Offer a recurring monthly donation option

The PayPal add-on does not support recurring payments at this time. To accept recurring payments, you will need either the Stripe or Authorize.net add-on. You have a few options:

  1. Use PayPal to handle the one-time payments and Stripe or Authorize.net to handle recurring
  2. Use Stripe or Authorize.net to handle both
  3. Use Stripe or Authorize.net and only handle recurring donations

If 1, move on to Set up both one-time and recurring donation options below.

If 2, install and activate your choice of Stripe or Authorize.net. Connect your site to your Stripe or Authorize.net account (Stripe documentation, Authorize.net documentation] and then add a Stripe or Authorize.net action to your form instead of PayPal. Set it up exactly as the PayPal action is described in the steps above. Then move on to Set up both one-time and recurring donation options below.

If 3, then move on to Set up a recurring donation option only below

Set up both one-time and recurring donation options

This option requires the Conditional Logic add-on to be installed and activated. Don’t forget that we have membership plans that bundle payment add-ons and Conditional Logic!

At this point you have chosen to go fixed amount, custom amount, or both. You already have these fields in place. You have a payment action in place that handles those one-time donation options.

Now you need a field for the donor to choose their preference of one-time or recurring. A Radio List field is perfect for the job. Set one list option as One-time and the other as whatever recurring interval you want, like weekly or monthly:

image of donation type preference field with one-time and monthly list options

Next go to your one-time payment action, the one you already have set up under Emails & Actions. Open its settings window, and scroll down to / expand Conditional Logic. Set it to process only when your Donation Type field has selected One-time:

image of logic statement configured to process this only when donation type field has selected one-timeFinally, add either your Stripe or Authorize.net action to your form to handle the recurring payment.

If you chose Stripe, you will need to create a subscription plan in your Stripe account. Get the Recurring Payment Plan ID from that account and paste it into the Stripe action under the Advanced section. Then expand Conditional Logic and set the action to process only when your Donation Type field has selected Monthly. Done!

If you chose Authorize.net, open the action’s settings window and toggle on “This is a subscription”. Then enter the subscription details that appear. Then expand Conditional Logic and set the action to process only when your Donation Type field has selected Monthly. Done!

 

Set up a recurring donation option only

At this point you have chosen to go fixed amount, custom amount, or both. You already have these fields in place. Now you need to add a Stripe or Authorizize.net action to your form to handle the recurring payment.

If you chose Stripe, you will need to create a subscription plan in your Stripe account. Get the Recurring Payment Plan ID from that account and paste it into the Stripe action under the Advanced section. Then expand Conditional Logic and set the action to process only when your Donation Type field has selected Monthly. Done!

If you chose Authorize.net, open the action’s settings window and toggle on “This is a subscription”. Then enter the subscription details that appear. Then expand Conditional Logic and set the action to process only when your Donation Type field has selected Monthly. Done!

 

Automatically send personalized email confirmation, even including a PDF receipt

A success message is handy for letting users know their donation has submitted, but additional confirmation is always nice. Setting up an email confirmation that thanks them by name and includes donation details is even better.

Email confirmations are set-and-forget automated. Just click the Emails & Actions tab and configure it however you wish. Merge tags can be used to pull in the name provided and donation details directly from the form’s fields. If you’ve never configured an email action for this before, this document will walk you through it.

Provide a PDF copy of the form submission as a formal receipt

An advantage of charitable giving is, of course, the tax write-off. That requires documentation, and a PDF receipt for the amount donated is the best path forward there. Provide this for your donors automatically using the PDF Form Submissions add-on.

The PDF receipt can be emailed to the user on form submission. Just configure an email action directed to them, and when it’s ready expand the Advanced settings. Toggle on Attach PDF, and… you’re done. You now have a PDF receipt headed out to every donor!

 

Conveniently manage all donation information from one place and export easily to Excel, Google Sheets, and more!

Keeping good records just makes good sense. If you accept donation with WordPress through your WordPress forms, you’ve got a leg up on this from the beginning. And a world of options to grow into.

From the onset, all of your donation form’s submissions will be stored on your server. This is readily accessible from your WordPress dashboard under Ninja Forms > Submissions. A CSV export of any number of submissions from your donation form can be performed with no additional features needed at any time. If you’re working with a low volume of donations, that’s maybe all you need.

If you need more, it’s easy to export records into other systems. Excel Export upgrades the export feature and gives you the ability to export donation submissions as a .xlsx or .xls file for Microsoft’s Excel software. Prefer Google Sheets or another tool for managing data? Zapier can connect you with hundreds of services that donation information can be routed to via form submission.

Made it this far? All you need to accept donations with WordPress are your WordPress forms!

Whether you’re looking to accept donations with WordPress for the first time or are just looking for an upgrade, you really don’t need to look farther than your WordPress forms. With the flexibility to provide for one-time vs recurring donations, fixed amounts or user-entered amounts, credit cards and PayPal, receipts, data processing, and more… what more could you need?

We’d love to hear about any needs that you have for accepting donations that aren’t met here. Comments are below. What features do you need to accept donations with WordPress that aren’t being met by your forms?