How a donation plugin works on a WordPress site
A donation plugin does four jobs: it shows a form on your page, hands the payment to a processor, records the gift, and sends the donor a receipt. Every tool on the market does the first two. The differences that matter to a Canadian charity are in the last two: whether the receipt meets Canada Revenue Agency rules without extra work, and where the donor record ends up.
There are three ways to put giving on a WordPress site. A hosted Canadian platform embeds its form on your page and handles payment, receipting and donor records on its own servers. A WordPress-native plugin keeps the form, settings and donor records inside your site and connects to a processor account you own. A payment-form plugin takes card payments through Stripe or PayPal but knows nothing about charities, so receipting is yours to build. Which one fits depends on your registration status, your volume and who will look after the site.
If you are still deciding on the site itself, our nonprofit WordPress development page covers what a charity site needs beyond the donate button, and registered charities can apply for our free website build.
Payment processors, Canadian dollars and payment methods
Whatever plugin you choose, money moves through a payment processor. Check three things before you sign up. First, that the account settles in Canadian dollars to a Canadian bank account, so you are not paying currency conversion on every gift. Second, which methods donors can use: credit and debit cards are universal, and some processors also offer pre-authorized bank debit for monthly donors, which usually costs less per gift than a card. Third, how the processor handles a failed monthly payment, because expired cards are the main reason recurring revenue quietly shrinks.
Interac e-Transfer is popular with Canadian donors but most WordPress donation tools do not process it automatically. Treat e-Transfers as offline gifts: publish the email address, log each one by hand and issue the receipt from your records. Cheques and cash work the same way. A good plugin lets you enter offline gifts so every donor lives in one list.
Official donation receipts: what the CRA requires
Only a registered charity or other qualified donee may issue official donation receipts, and the CRA sets out exactly what a receipt must contain. According to the CRA page on receipt content at canada.ca, a receipt for a cash gift must show:
- a statement that it is an official receipt for income tax purposes;
- the charity's name and address as registered with the CRA;
- a unique serial number;
- the charity's registration number;
- the place or locality where the receipt was issued;
- the date or year the gift was received;
- the date the receipt was issued;
- the donor's full name, including middle initial, and address;
- the amount of the gift;
- the amount and description of any advantage the donor received;
- the eligible amount of the gift;
- the signature of an individual authorized by the charity to acknowledge gifts;
- the name and website address of the Canada Revenue Agency, which the CRA now gives as canada.ca/charities-giving.
Receipts for non-cash gifts must also show the date the gift was received, a brief description of the property and, where an appraisal was done, the appraiser's name and address. Confirm the current wording on the CRA page before launch, because the CRA updates it.
Two practical points follow. The donation form must collect a full name and mailing address, not just an email, or the receipt cannot be issued. And "advantage" matters: if a donor gets a gala dinner or a raffle entry, the eligible amount is reduced and the receipt has to say so. Tools built for Canada handle this; generic tools usually do not. Keep copies of every receipt as the CRA requires, and check the CRA guidance for how long.
Organizations that are not registered charities, such as many community groups and social enterprises, cannot issue official receipts at all. They can still accept donations online; the receipt is simply a thank-you and a record of payment, and the form should not promise a tax receipt.
Recurring gifts
Monthly giving is the most valuable feature on the list, and the one most often set up badly. Look for a tool that lets donors change or cancel their own gift without emailing you, retries failed payments and tells the donor when a card is about to expire, and can issue one cumulative receipt at year end instead of twelve separate ones. Make monthly the default option on the form with one-time as the alternative, and suggest amounts based on what your donors actually give.
Fees and who pays them
There are two layers of cost. The processor charges a percentage plus a fixed amount per transaction. Some platforms add their own fee on top; others charge a subscription; one Canadian platform charges the charity nothing and asks donors for an optional tip instead. Most tools offer a "cover the fees" checkbox so the donor can top up the gift. When a donor covers fees, the receipt is issued for the full amount the donor paid, including the top-up, because the whole amount is a gift to the charity.
Fees on small monthly gifts are where the differences bite. A fixed per-transaction charge on a ten-dollar monthly gift is a much larger share than on a two-hundred-dollar annual one, so compare fees against your real gift sizes, not the platform's example.
Accessibility
A donation form that a screen reader cannot complete turns away donors and, for Ontario organizations with 50 or more employees, risks falling short of the AODA's WCAG 2.0 Level AA requirement. Test the form with a keyboard only, check that every field has a visible label and clear error messages, and make sure the embedded form does not trap focus inside an iframe. Hosted platforms control their own form markup, so ask the vendor for their accessibility statement; with a native plugin your developer can fix what fails.
Comparing the categories
The table sets out the four approaches. Vendor details are taken from the vendors' own websites at the time of writing; check their current pages before deciding.
| Approach | CRA receipts | Recurring gifts | Fees | Donor data | Best for |
|---|---|---|---|---|---|
| Hosted Canadian platform embedded on your site (for example CanadaHelps or Zeffy) | Issued automatically; both vendors state their receipts are CRA-compliant. Zeffy requires your CRA number and an electronic signature in its settings. | Yes, with donor self-service on the platform. | CanadaHelps publishes a percentage fee per transaction that varies by gift type and size, with no monthly fee. Zeffy states no platform, transaction or card fees, funded by optional donor tips. | Held on the platform; exportable. | Registered charities that want receipting handled with no developer involvement. |
| WordPress-native donation plugin (for example GiveWP) | Receipts are generated by the plugin; GiveWP describes branded, tax-compliant PDF receipts. You are responsible for confirming every CRA field is present. | GiveWP lists recurring giving on its Pro plan and above. | Processor fees plus the plugin's annual plan. GiveWP includes Stripe, Square and PayPal on every plan and offers donor fee recovery on its higher plans. | Inside your WordPress database, plus the processor. | Charities with a developer or support plan that want forms, data and receipts on their own site. |
| Payment-form plugin on Stripe or PayPal | None built in. You issue receipts from your records or add custom code. | Depends on the plugin; often a paid add-on. | Processor fees only, which makes it the cheapest at volume. | In the processor and whatever the plugin stores. | Non-registered groups that cannot issue official receipts anyway, or very simple appeals. |
| Custom-built donation flow | Built to the CRA list above, with serial numbers, signatures and advantage handling. | Built to your rules. | Processor fees plus development. | Wherever you decide, usually your CRM. | Larger charities with unusual receipting rules or a CRM that must be the single source of truth. |
Whichever row you land in, put the form on your own domain where you can. An embedded form on your site converts better than a link that sends donors to another website, and it keeps your analytics intact.
Setup checklist
- Confirm your registration status and registration number, and decide who signs receipts.
- Open the processor account in the organization's name, settling in Canadian dollars, with two people holding access.
- Collect full name and mailing address on the form; make email required for delivery.
- Set monthly as the default with one-time as an option, and choose suggested amounts from real giving data.
- Turn on the cover-the-fees option and test that the receipt shows the full amount.
- Make a real donation of a few dollars by card, refund it, and check the receipt against the CRA list line by line.
- Test a recurring gift through a full renewal, including a failed payment if the platform lets you simulate one.
- Decide where donor records live and set up the export or integration to your database.
- Check the form with a keyboard and a screen reader.
- Put the donate button in the header and on every program page, not only on a donate page.
- Write down the whole configuration and store it with your other site documentation.
Common mistakes
- Promising a tax receipt on the form when the organization is not a registered charity.
- Receipts missing a serial number, the place of issue or the CRA name and website address.
- Issuing a receipt for the full ticket price of an event without deducting the advantage.
- A processor account registered to a volunteer's personal email who later leaves.
- Donor records split across the platform, a spreadsheet and the email tool, so nobody knows who gave last year.
- A donate button that opens a page in a different design, which costs trust at the exact moment of giving.
- Never testing the form again after launch, so a broken plugin update goes unnoticed for weeks.
A maintenance plan catches the last one. Our nonprofit website maintenance plan guide explains what a monthly check should include, and the nonprofit website checklist covers the rest of the site.