Skip to content
GPLWP Guides

How to accept donations on a WordPress site

Marketing & Email Time About 30–60 minutes 7 steps Updated 21 Sep 2026

MARKETING & EMAIL
The short answer

You can accept simple one-off donations with a PayPal button or payment link, without a WordPress plugin. For card payments, recurring gifts, receipts, donor records and fundraising campaigns, use a donation plugin connected to Stripe or PayPal. Test the full payment and email flow before publishing.

The route
  1. 01Choose your donation setup
  2. 02Set up the payment account
  3. 03Create the donation page
  4. 04Configure receipts and follow-up
  5. 05Check records and privacy
  6. 06Test before asking publicly
  7. 07Use a fundraising design shortcut

What you need

  • A self-hosted WordPress site with administrator access
  • A PayPal Business account or Stripe account
  • A published page for the donation form
  • A clear explanation of what donations fund

Choose your donation setup

Use a PayPal button or payment link if you only need a simple way to collect occasional one-off gifts. PayPal sends the donor to its own checkout, so this route is quick but gives you limited control over the form, donor records and reporting. PayPal also supports recurring donations through its donation setup.

Choose a donation plugin if you need Stripe or PayPal forms, custom amounts, recurring giving, receipts, campaign goals, donor history or exports. Donation plugins such as GiveWP and Charitable provide forms that can be placed with a block or shortcode and connect to payment gateways.

Set up the payment account

Create or confirm the payment account that will receive the money. For PayPal, use a Business account and create a Donate button or payment link. For Stripe, create the account, complete its verification requirements and prepare the account keys or connection requested by your chosen plugin.

Do not paste secret Stripe keys into a public page or theme file. Add them only in the plugin's protected settings, and use test mode first where the plugin and gateway support it.

Create the donation page

Add a page called Donate or Support us. Explain what the money pays for, show suggested amounts, allow a custom amount where appropriate, and state whether the gift is one-off or recurring.

For the manual route, insert the PayPal Payment Buttons block in the WordPress editor, or paste the payment link into a button or Custom HTML block. PayPal documents both the block method and the option to copy payment code into WordPress.

For the plugin route, create a donation form, connect the selected gateway and insert the form's block or shortcode on this page. Keep the form above the fold on mobile, but include enough context that visitors know who receives the money.

Configure receipts and follow-up

Turn on the donor receipt or confirmation email supplied by your payment tool or plugin. Set the sender name, reply-to address, subject and thank-you message, then add a link back to your site or the next action you want donors to take.

Only add donors to marketing emails when you have a lawful basis and clear consent for that use. Keep donation receipts separate from promotional messages. Send a test donation and check that the donor, site administrator and any email service receive the expected messages.

Check records and privacy

Decide where donation records will live. A basic PayPal button leaves payment management mainly in PayPal, while a donation plugin may store donation details in WordPress and offer searches, exports or donor dashboards. GiveWP and Charitable both describe donor management and payment integrations, but the exact fields depend on the form and gateway you configure.

Publish a privacy notice explaining what donor information you collect, why you collect it, who processes the payment and how long you retain records. Collect only the fields you need. Do not store card numbers in WordPress.

Test before asking publicly

Make a small test donation from a different account or use the gateway's test mode. Check the amount, currency, one-off or recurring status, thank-you page, receipt email, mobile layout and appearance in the payment dashboard.

The common Friday failure is a form that looks correct but never records a completed donation because the gateway connection or webhook is wrong. If recurring gifts or automatic status updates matter, verify the plugin's webhook or gateway connection and confirm that a completed test appears in both systems before promoting the page.

Use a fundraising design shortcut

If the donation experience needs campaign pages, cause layouts and a fundraising-focused design, Fundrize is a suitable theme-based shortcut. It includes donation functionality through Caritable, ready-made cause layouts and demo content, so it is aimed at sites where presentation matters alongside the donation form.

Install the theme only after confirming that its included Caritable setup supports the payment gateways, recurring options and donor workflow you need. The theme does not remove the need to configure the payment account, email messages, privacy notice and tests.

The fast route

Let Fundrize do it

Donation-focused theme with Caritable integration and ready-made cause layouts; choose it when fundraising design matters as much as donation features.

Get Fundrize

Sources

  1. paypal.com /us/cshelp/article/how-do-i-set-up-and-use-paypal-payment-bu…
  2. wordpress.org /plugins/charitable/?utm_source=openai
  3. securepayments.paypal.com /us/cshelp/article/how-do-i-accept-donations-with-paypal-hel…
  4. wordpress.org /plugins/donatico/?utm_source=openai

Questions

Can I accept donations in WordPress without a plugin?
Yes, you can accept simple one-off donations without a plugin by creating a PayPal Donate button or payment link and adding it to a page with a button, link or Custom HTML block. This is fine for a small site, but payment records, recurring gifts, donor fields, receipts and campaign reporting will mostly be handled outside WordPress.
Do I need Stripe or PayPal for WordPress donations?
You need a payment processor or hosted donation service to take online card or wallet payments. Stripe and PayPal are common choices, and donation plugins can connect them to WordPress forms. A PayPal button is the simplest route, while a plugin gives you more control over form fields, recurring donations, records and donor communications.
How do I accept monthly donations on WordPress?
Use a PayPal donation setup that supports recurring payments, or choose a donation plugin with recurring Stripe or PayPal support. Create a separate monthly option, explain how donors can cancel, and test the subscription lifecycle. Do not assume that a plugin's one-time donation form also supports recurring payments; check the gateway and plugin settings first.
Why did a donation form take payment but not update WordPress?
The usual cause is a broken or missing gateway callback, webhook, account connection or test-mode setting. Check the gateway credentials, webhook URL and event status in the plugin settings, then make a test donation and confirm it appears in both the payment dashboard and WordPress. A successful redirect alone does not prove that the donation was recorded.