WooCommerce is the Swiss Army Knife of WordPress ecommence. There is a plugin for almost any ecommerce feature you can think of. I recently had a request for Recurring Donations with WooCommerce. Although I couldn’t find one plugin that fulfilled that request, I did find that by combining two WooCommerce plugins, I got exactly what my client wanted. The following tutorial explains how to create recurring donations with WooCommerce.
This tutorial requires the following:
- WooCommerce – Free
- WooCommerce Subscriptions – $199
- Optional – Product Add-Ons – $49 Product Add-ons is necessary only if you want to have a donation field where the user can enter any amount. If your donation is for a fixed amount, you don’t need this plugin.
- PayPal Business account
or, better yet…
- Stripe – Stripe is the easiest and fastest way to start taking credit cards on your website. It literally takes about 10 minutes to apply for a Stripe account and to start using it IMMEDIATELY! And it’s much easier to use than PayPal.
Note: If you don’t require support and you are comfortable with manual plugin updates, you can get WooCommerce Subscriptions for $35 and Product Add-Ons for $25 at https://wpspring.com
How to Add Recurring Donations with WooCommerce
Install the Plugins
- Install WooCommerce, WooCommerce Subscriptions, and Product Add-Ons. See How to Install WordPress Plugins
- If you are using Stripe for credit card payments, get the Stripe plugin from WooCommerce (free) and install it. Click here to learn how to configure Stripe.
Configure a Payment Gateway
In order to take credit cards on your site, you’ll need a payment gateway. Here is a link to all payment gateways that work with WooCommerce Subscriptions. There are literally dozens of them. I have worked with two of them: PayPal and Stripe. Stripe is definitely the easiest to apply for and configure. This procedure covers Stripe and PayPal payment gateways, but you can use any of the payment gateways listed in the link above.
A PayPal Standard business account supports basic subscription features. If you need advanced subscription features, such as upgrade or downgrade a subscription, you’ll need to need to apply with PayPal for Reference Transactions. If you just want to implement recurring donations, you probably don’t need Reference Transactions.
Note: If you don’t already have a PayPal account, or you want to be able to take credit cards directly on your site, sign up for Stripe. Out of the box, Stripe can handle all of the advanced subscription recurring payment features, it’s the same price as PayPal, and it takes only about 10 minutes to activate and start using your Stripe account.
Stripe is very easy to configure. Once you’ve created and verified your Stripe account, you can get the API credentials to add into the Spripe gateway plugin for WooCommerce.
Create a Subscription Product
- From the WordPress admin screen, go to Products > Add New.
WooCommerce displays the Add new product screen.
- Add a product name and description.
- From the Product data list, select Simple Subscription.
- Check the Virtual box.
- In the Subscription price field, enter 0.
Tip: If you want to collect a specific price for a recurring donation or subscription product, enter the price and do steps 6 and 7 and then click Publish.
- Set the subscription cycle; for example, every day, week, month, year.
- Optional – If you are a non-profit, from the Tax Status list, select None.
- Click Add-ons link in the left column.
- Click the New Add-on button.
The Add-ons screen is displayed.
- From the Group list, select Additional custom price input.
- Enter a name in the Name field.
- Check the Required fields box.
- Optional – If you want, you can add a minimum or maximum donation.
- Click Publish and view the product. It should look something like the one below.
- Make sure you test the payment gateway by going through the checkout process. Both Stripe and PayPal allow you to set up a test mode so you can see if they gateway is working correctly. Once you succeed with a test payment, make your payment gateway live and test it with a real credit card.
- Optional: If you want to change the default subscription product button text, Sign Up Now, go to WooCommerce > Settings > Subscription tab and change the text there.