DonatoTomato
DonatoTomato is a donation platform built for US nonprofits. Accept one-time and recurring donations through a beautiful, embeddable widget — with automatic tax receipts, donor management, and a 1% platform fee (no monthly cost).
This plugin lets you add a DonatoTomato widget to any page or post using a shortcode or a Gutenberg block, or drop a Donate button into your site’s nav that opens the donation form as a pop-up.
Features:
- Inline widget — embed the donation form directly on a page (shortcode or Gutenberg block)
- Donate button — drop a button in your nav (or anywhere) that opens the donation form as a pop-up overlay (shortcode or Gutenberg block)
- One-time and recurring (monthly) donations
- Automatic tax receipt emails for donors
- Branded with your nonprofit’s logo and colors
- No transaction data stored on your WordPress site — all payments handled securely by Stripe
Requirements:
- A free DonatoTomato account
- A connected Stripe account (set up inside DonatoTomato)
Source Code
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:
https://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:
- Clone the repository:
git clone https://github.com/iCodeWebApps/donatotomato-wp.git - Install dependencies:
npm install(requires Node.js 18+) - Build the block:
npm run build(outputs tobuild/) - Or run in watch mode:
npm run start
There are no third-party developer libraries vendored into this plugin. The only build dependency is @wordpress/scripts, which is the official WordPress build tooling.
Usage
There are two widget styles: an inline embed (donation form sits directly on a page) and a Donate button (button anywhere on your site opens the donation form in a pop-up overlay — perfect for site navigation).
Inline widget
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.
Donate button (pop-up)
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).
Third-Party Services
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, 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. 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.
- Service: https://donatotomato.com
- Terms of Service: https://donatotomato.com/terms
- Privacy Policy: https://donatotomato.com/privacy
Stripe
Payment processing is handled by Stripe via the DonatoTomato platform. Stripe’s privacy policy applies to all donation transactions.
- Service: https://stripe.com
- Terms of Service: https://stripe.com/legal
- Privacy Policy: https://stripe.com/privacy
