Do you need a way to start accepting donations using your WordPress website? Whether you’re a registered nonprofit, organizing a fundraiser, raising money for a cause, or exchanging goods or services for a gift, accepting donations with WordPress is easy.
Finding the right tool for you or your organization is the hard part! PayPal donations are easy enough to set up, but that definitely limits your donor pool. Multiple plugins exist on WordPress.org exclusively for accepting donations, but do you really need another plugin? You may have considered a standard WordPress form, but does it have the flexibility you need? Many form builders don’t. One, however, does.
You probably don’t need a complex, stand-alone service or plugin to accept donations with WordPress!
- Accept donations with WordPress via credit card or PayPal
- Accept donations with a fixed or user-entered amount… or both!
- Offer a recurring monthly donation option
- Automatically send personalized email confirmation, even including a PDF receipt.
- Conveniently manage all donation information from one place and export easily to Excel, Google Sheets, and more!
Read on for a full look at how to accept donations with WordPress forms!
Please note that for all Ninja Forms versions 3.4.11 and later (released 7 May 2019), all new installations of Ninja Forms will need to have Developer Mode enabled to see all the features described below.
Accept donations with WordPress via credit card or PayPal
Want donors to be able to pay using a credit card? Both the Stripe and Recurly payment gateways will allow users to donate via credit card. More on recurring donations below, but Stripe and Recurly will handle both one-time and monthly recurring donation options as well.
Want donors to be able to contribute using PayPal? The PayPal Express extension links your WordPress forms directly to PayPal.
You can accept donations with WordPress via credit cards or PayPal simply by installing and activating one of these tools, and then adding a Collect Payment action to your donation form. No code, no fuss. Just tell the form which field the donation total will be entered into, and you’re ready to go. More on this below.
Don’t want to limit donors to just one option? Offer both credit card and PayPal donations!
Options are good. You don’t want to lose potential donors that strongly prefer one payment method over the other! You can get set up to accept donations with WordPress via credit card or PayPal very easily. You’ll need PayPal Express + either Stripe or Recurly, and then Conditional Logic.
Simply add a Radio List field to your form that offers the available payment options for the donor to choose from. Add a Collect Payment action for each payment option, and use Conditional Logic on each action so that only the one selected in the Radio List fires.
Accept donations with a fixed or user-entered amount… or both!
Want to accept one-time donations only? Simple. There are a few different ways you can go about that, depending on what your needs are. We’ll hit them each below.
Whatever option you choose, you’ll need a payment gateway (Stripe/PayPal/Recurly as discussed in the section immediately above).
In the Collect Payment action for that gateway, you’ll need to set GET TOTAL FROM to either Field or Calculation, and then point it at whichever field or calculation you set up to be the Gift Amount below!
I want to let the user select a pre-determined gift amount.
This is the perfect option for setting donation tiers. Drop a Radio List field onto your form. The Label will display the amount to your users. The Value will display in submissions and any email confirmation/receipt you send. The Calc Value is the amount that will be sent to your payment gateway. Be sure your Calc Value is equal to the displayed amount (Label)!
Since the Collect Payment action won’t recognize a List field as a total source, you’ll need to create a calculation. With your field set up, head over to the Advanced tab and select Calculations. Create a calculation simply by naming it and selecting this Radio List field alone as its value. Aim your Collect Payment action’s GET TOTAL FROM setting to Calculation, and select this calculation. Done!
I want to let the user enter their own gift amount.
Place a Number field onto your form. Rename it whatever you like. Under Number Options, set Min and Max to the lowest and highest amount you’ll accept. Min needs to be at least 0. Max can be left blank if you don’t want to cap the donation amount.
That’s all there is to it. Donors can now enter their own gift amount! Just be sure to point your Collect Payment GET TOTAL FROM at the Number field as described above.
I want to do both!
Also not a problem. It just takes a bit of Conditional Logic. Add a Radio List field and Number field, and set them up as described above. Add an extra list option to the Radio List. Call it whatever you like: Other, Set My Own Amount, whatever. Set the Calc Value for that option to 0.
Now click on the Advanced tab and select Conditional Logic. Set up the Number field so that it will only show if the Other list option has been selected from the Radio List. It will stay hidden otherwise.
Next, click on the Advanced tab and select Calculations. Create a calculation that adds the Radio List + the Number field. If the user chooses a fixed amount from the Radio List, the calculation total will equal that amount. If the user chooses Other and then enters their own amount, since you set the Calc Value of Other to 0, the calculation total will equal the amount entered in the Number field
Finally, you’ll just need to adjust your Collect Payment action(s). Aim your Collect Payment action’s GET TOTAL FROM setting to Calculation, and select this calculation. You can now accept donations with WordPress either from a fixed amount or user specified amount!
Offer a recurring monthly donation option (or offer a choice between one-time and recurring)
Whichever gateway you choose, you’ll need to have a subscription plan set up with that service. Add a Collect Payment action to your form and set it to your payment gateway of choice. You can find a full walkthrough of enabling recurring payments in the Stripe or Recurly documentation if you have any issues, but within the Collect Payment action itself all you need to do is specify the plan you want to connect to. All subscription details are managed from the service itself.
I want to offer a choice of one-time or recurring donations!
All you’ll need is a bit of Conditional Logic and a field to let the user choose.
First, drop a Radio List field onto the form that offers the choice between one-time and recurring.
Next, set up two Collect Payment actions with one linked to your one-time payment plan and the other to your recurring plan. In each Collect Payment action, open the Conditional Logic settings and set that action to fire only if the appropriate option has been selected within the Radio List field you just created.
With this set up, the appropriate action will fire base on user selection. Donors now have the option of selecting either one-time or recurring donations!
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?Wether 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.Click To Tweet