

One-click floating Donate button — appears on every page automatically once enabled.
Add a donate button or an embedded donation form to your nonprofit’s WordPress site with no code. Donors give once or start a monthly gift, and donations go straight into your own Stripe account, with automatic tax receipts. There is a flat 1% platform fee on top of Stripe’s standard payment processing, and no monthly fee.
DonatoTomato is operated by Dev1 Consulting LLC, a US company. Donations are processed through Stripe Connect and land directly in your nonprofit’s own Stripe account, so your organization is the merchant of record and we never hold your funds.
This plugin is open source (GPL-2.0-or-later) with full, unminified source published on GitHub. Nothing is hidden, and no third-party tracking libraries are bundled in.
Before you start: the plugin connects to a free DonatoTomato account where your campaigns and payments live. If you don’t have one yet, you can create it (about 2 minutes) right from the plugin’s setup screen, then paste your Organization ID into the plugin and you’re done. Want to see the donation form working first? There is a live demo on the DonatoTomato homepage, no sign-up required.
DonatoTomato is a donation platform built for US nonprofits. Accept one-time and recurring donations through an embeddable donation form, with automatic tax receipts, donor management, and a flat 1% platform fee on top of Stripe’s standard processing (no monthly cost).
Three ways to add donations to your site:
Features:
How it works:
DonatoTomato is a hosted donation platform, and this plugin is its WordPress front end. You will need (1) a free DonatoTomato account, about 2 minutes to create from the plugin’s setup screen, and (2) a Stripe account connected inside DonatoTomato, so donations are charged through your own Stripe and land directly in your bank. There is nothing to host, patch, or back up on your side.
This plugin connects to external services operated by DonatoTomato (Dev1 Consulting LLC) and Stripe. By using this plugin you agree to their respective terms and privacy policies.
DonatoTomato Platform (app.donatotomato.com)
When a visitor loads a page containing a DonatoTomato widget, their browser loads an iframe from app.donatotomato.com. When a page contains a DonatoTomato Donate button (including the site-wide floating Donate button), the browser additionally loads a small focal-modal script (embed.js, ~2KB gzip) from app.donatotomato.com that opens the donation iframe in a pop-up overlay when the button is clicked. The plugin admin also fetches a list of your campaigns from app.donatotomato.com to populate the campaign picker dropdown. Donation form submissions — including donor name, email, and payment details — are transmitted to and processed by DonatoTomato and Stripe. No payment or donor data is stored on your WordPress site.
Stripe
Payment processing is handled by Stripe via the DonatoTomato platform. Stripe’s privacy policy applies to all donation transactions.
The full, unminified source code for this plugin — including the Gutenberg block source that is compiled into build/index.js — is publicly available on GitHub:
github.com/iCodeWebApps/donatotomato-wp
The repository contains the complete, human-readable source. The compiled production output committed in build/ is generated entirely from src/index.js via the official @wordpress/scripts build tool.
Build instructions:
git clone https://github.com/iCodeWebApps/donatotomato-wp.gitnpm install (requires Node.js 18+)npm run build (outputs to build/)npm run startThere are no third-party developer libraries vendored into this plugin. The only build dependency is @wordpress/scripts, which is the official WordPress build tooling.
There are three widget styles: a floating Donate button (admin-configured, site-wide — recommended), an inline embed (donation form sits directly on a page), and a Donate button block (button anywhere on your site opens the donation form in a pop-up overlay).
Configure under Settings DonatoTomato Floating Donate Button. No shortcodes, no blocks — pick a campaign from the dropdown, tweak label/color/size/shape/position, save. The button appears on every front-end page automatically.
Shortcode:
[donatotomato campaign="your-campaign-id"]
With optional overrides:
[donatotomato slug="your-org" campaign="your-campaign-id" width="480" height="600"]
Gutenberg Block: Search for “DonatoTomato Widget” in the block inserter (under Embeds). Enter your Campaign ID in the block settings panel.
Shortcode:
[donatotomato_button campaign="your-campaign-id"]
With optional overrides:
[donatotomato_button campaign="your-campaign-id" label="Give now" class="my-custom-class"]
Gutenberg Block: Search for “DonatoTomato Donate Button” in the block inserter (under Embeds). Enter your Campaign ID and optional label.
Adding to your nav menu: Most themes support adding a Custom Link or Custom HTML to the menu. Use the shortcode in a Custom HTML block, or paste the rendered HTML directly: <button type="button" class="donatotomato-button" data-dt-donate="your-campaign-id">Donate</button> (works only after the plugin is active so the supporting script is loaded).