Use Case: Accept Recurring Donation Payments

One common use for subscriptions is to accept recurring donations where the subscriber can choose a custom donation amount, then donation payments are made on a regular schedule. When creating a subscription product, a set price is required. However, extensions are available which allow your customers to set their own price, and these can be used in combination with WooCommerce Subscriptions to create recurring donation products where the customer selects a donation amount and even selects a payment schedule.

How can I charge recurring payments for donations? 

Two great extensions which work with Subscriptions to allow your customers to name their own price are:

  1. Name Your Price
  2. Gravity Forms Add Ons

Both of these extensions can be used to add a text field on a subscription product which allows the customer to enter their preferred donation amount. In the below examples we’ll demonstrate using the Name Your Price extension.

Scenario & Required Extensions

↑ Back to top

Scenario:

You’re a local community organization that relies on donations to keep the lights on, some of your benefactors have asked about setting their donations on “autopilot” so you can have more stability in your budget. Others have asked about choosing a donation schedule that works best for them. Let’s use the WooCommerce Subscriptions and Name Your Price extensions to set this up in your shop!

Required Extensions:

We’ll cover how to set up a simple subscription product with shopper-defined pricing so customers make a donation of a custom amount on a monthly basis. As well as a variable subscription product with shopper-defined pricing that allows supporters to choose from a range of schedules for their recurring donations. In both cases the steps closely follow the normal process of creating subscription products, with the addition of checking the option for shoppers to name their price. See the Name Your Price documentation for more details including settings that allow customers to change their donation amount.

Simple Monthly Donations With Custom Amounts

↑ Back to top

After you’ve purchased, installed, and activated both WooCommerce Subscriptions and Name Your Price, set up a simple subscription product for monthly donations as follows:

  1. Create a new product at Products > Add New.
  2. Give the product a fitting title and description for accepting monthly donations.
  3. In the Product data section set the product type to Simple subscription.
  4. Check the “Name Your Price” box, and you’ll see fields appear for “Suggested Price”, “Minimum Price”, and “Maximum Price”. You can leave fields empty if you don’t want to set values for them.
  5. Set the subscription product’s schedule to bill every month.
Setting a suggested price and minimum price for the recurring donation product

In the shop your customers will see a field to enter their desired donation amount, as well as your suggested and minimum prices if you entered any.

Now your customers can set a donation value of their choice.

Custom Donation Amounts with Variable Schedules

↑ Back to top

The product configuration for offering different donation schedules is very similar, but uses a variable subscription product instead of a simple one, to offer different billing schedules.

After you’ve purchased, installed, and activated both WooCommerce Subscriptions and Name Your Price you can set this up as follows:

  1. From your site admin area, click Products > Add New.
  2. Give the product a fitting title and description for accepting donations on various schedules.
  3. In the top of the “Product data” area, set the product type to Variable Subscription.
  4. In the “Attributes” section and add an attribute with the name Frequency, that has values of Weekly | Monthly | Quarterly | Annual to correspond to the different billing schedules. Check to ensure the “Used for variations” box is checked, then click to save the attributes.
  5. In the “Variations” section, click the button to “Generate Variations”. You’ll see a variation created for each of the frequencies we entered in the last step.
  6. Expand each variation and enter the following product details:
    • If you won’t be shipping anything to your benefactors, check the “Virtual” box so shipping options won’t be offered.
    • Check the “Name Your Price” box and enter any suggested, minimum, or maximum price.
    • Set the subscription billing schedule to match the name of the variation you’re editing (e.g. for the “Quarterly” variation, set the schedule to bill “every 3rd month”)
  7. After entering the details and schedules for each variation, click to “Save changes” at the bottom of the variations section.
  8. Publish the product.
Setting the product data for the variation with a quarterly billing schedule.

You can also add images, or other details to the different variations as needed, for example if your donations are non-taxable you may want to assign a zero-rate tax class so no tax is collected at checkout.

On the product page your customers will see an option to select their billing frequency, and a field to enter their donation amount.

A page product for a product titled "Recurring Donation Plan" with an option to select a frequency and enter a price.

Let the Customer Change their Donation Amount

↑ Back to top

The Name Your Price documentation has a section that explains the switching setting it adds so you can allow your customers to update their chosen payment amount.

Questions and Support

↑ Back to top

Something missing from this documentation? Do you still have questions and need assistance?

  • Have a question about a specific extension or theme you’d like to purchase? Click here.
  • Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.