Seamless Donations


IMPORTANT: Support has moved to the ZATZLabs site and is no longer provided on the forums. Please visit the new Seamless Donations Community Forums. If you need a timely reply from the developer, please open a ticket.

Five Minutes to Your First Donation

Seamless Donations is so easy to install and configure that your Web site can accept donations via your PayPal account within five minutes of downloading the plugin.

Seamless Donations is free and will never, ever charge you a commission.

Learn more on the Seamless Donations home page.

Automatic Repeating Donations

You can instantly give your donors the option to make their donation repeat automatically. You can turn on on the option with a click, which gives your donors a checkbox to make any donation repeat.

Watch the Intro Tutorial

Track Donors and Donations

Seamless Donations uses standard WordPress post types for Donors, Donations, and Funds so not only can you keep track of your most important contributors, you can use all of WordPress’ tools and plugins to manage them.

Show Donors Your Appreciation

You can email donors customized email Thank You messages. You can also set up “in honor of” donations and send a customized Thank You email to a designated recipient. With the Thank You Enhanced extension you can display custom Thank You pages personalized for each donor.

Docs, FAQ, Video Tutorials, and Support

Visit Seamless Donation’s comprehensive documentation and video tutorial section for tips, FAQ, training videos, basic skills videos, troubleshooting guides, and more.

Plugins and Extensions

Seamless Donations supports compatible free plugins including CAPTCHA, export, and mail integration, plus premium add-ons and extensions that can help you get the most out of your fund-raising efforts. New premium add-ons include:

Fight Back Against Spam

Seamless Donations and GoodBye Captcha now work together to keep your site and forms safe. Block spambots without annoying captcha images.

Currency Support

Support for the following currencies is built into Seamless Donations 4.0:

  • Australian Dollar
  • Real brasileño
  • Canadian Dollar
  • Corona checa
  • Corona danesa
  • Euro
  • Hong Kong Dollar
  • Florín húngaro
  • Indian Rupee
  • Israeli New Sheqel
  • Yen japonés
  • Malaysian Ringgit
  • Peso mexicano
  • Corona noruega
  • Dólar neozelandés
  • Philippine Peso
  • Zloty polaco
  • Pound Sterling
  • Rublo ruso
  • Singapore Dollar
  • Corona sueca
  • Franco suizo
  • Taiwan New Dollar
  • Baht tailandés
  • Lira turca
  • U.S. Dollar


  • German translation (as of 4.0.1)
  • Spanish translation, courtesy David Chávez (as of 4.0.2)
  • French translation, courtesy Etienne Lombard (as of 4.0.2)
  • Portuguese translation, courtesy Daniel Sousa (as of 4.0.9)
  • Hebrew translation, courtesy user semistazic (as of 4.0.16)
  • Norwegian translation, courtesy of an anonymous user (as of 4.0.16)
  • HUGE thank you to users doing these translations!
  • Assist with translations

Here are some of the major features added in 4.0

  • Updated, modern admin UI: The admin interface has been updated to a modern tabbed-look.
  • Custom post types: Funds and donors have now been implemented as custom post types. This gives you the ability to use all of WordPress’ post management and display tools with donors and funds. The donation data has always been a custom post type, but it is now also available to manipulate using
    plugins and themes outside of Seamless Donations.
  • Designed for extensibility: The primary design goal of 4.0 was to add hooks in the form of filters and actions that web designers can use to modify the behavior of Seamless Donations to fit individual needs. The plugin was re-architected to allow for loads of extensibility.
  • Forms engine designed for extensibility: Rather than just basic form code, Seamless Donations 4.0 now has a brand-new array-driven forms engine, which will give web site builders the ability to modify and access every part of the form before it is displayed to donors.
  • Shortcode engine designed for extensibility: The main shortcode for the plugin has been designed so that extensions can add features to the main seamless-donations shortcode.
  • Admin UI designed for extensibility: Yep, like everything else, the admin interface has been designed to allow for extensibility.
  • Translation-ready: Seamless Donations 4.0 has had numerous tweaks to allow it to be translated into other languages.

Open Source, Extensible, and Developer-Friendly

Seamless Donations 4.0 was designed from the ground up to be developer-friendly. Here are some of the developer resources you might find useful:

Contribute to the Seamless Donations Project

Seamless Donations is on GitHub. Contributions to the project are welcomed, appreciated, and encouraged. Feel free to issue a pull request from the Seamless Donations Repository.

Support Note

Support has moved to the ZATZLabs site and is no longer provided on the forums. Please visit the new Seamless Donations Community Forums. If you need a timely reply from the developer, please open a ticket.

Mailing List

If you’d like to keep up with the latest updates to this plugin, please visit David’s Lab Notes and add yourself to the mailing list.

Adoption Notice

This plugin was adopted in March 2015 by David Gewirtz. Ongoing support and updates have continued, as evidenced by the major 4.0 upgrade. Feel free to visit David’s Lab Notes for a development roadmap and additional details. Special thanks to Allen Snook for originally creating the plugin and making adoption possible.


  • The donation form your visitor sees
  • Dashboard >> Seamless Donations Main Menu
  • Dashboard >> Donations custom post type
  • Dashboard >> Form Options tab
  • Dashboard >> Thank You Email template options


IMPORTANT: Support has moved to the ZATZLabs site and is no longer provided on the forums. Please visit the new Seamless Donations Community Forums. If you need a timely reply from the developer, please open a ticket.

  1. Upload/install the Seamless Donations plugin
  2. Activar el plugin
  3. Set the email address for PayPal donations in the plugin settings
  4. Create a new blank page (e.g. Donate Online)
  5. Add the following shortcode to the page : [seamless-donations]
  6. That’s it – you’re now receiving donations!

For those updating from 3.3 to 4.0, go to your Plugins page and deactivate Seamless Donations. Then delete the plugin. Refresh your plugins page (this is very important, make sure to refresh). Now you can Add New and bring Seamless Donations 4.0 onto your site. If you are experiencing problems upgrading from v3 to v4, read this.

This video will provide more details:

Be sure to test for the following changes in the new version

  • Change the form shortcode: The [dgx-donate] shortcode is deprecated and will issue an update warning once you update. The new shortcode is [seamless-donations].
  • Check your CSS: Most of the CSS should remain the same, but because the form interaction has been updated, your CSS may change.
  • Check your data: Great pains have been taken to be sure the data migrates correctly, but please, please, PLEASE double-check it.

Preguntas frecuentes

IMPORTANT: Support has moved to the ZATZLabs site and is no longer provided on the forums. Please visit the new Seamless Donations Community Forums. If you need a timely reply from the developer, please open a ticket.

Does this work with US and non-US PayPal accounts?


Does this handle US and non-US addresses?


Does this work with PayPal Website Payments Standard?


Do I have to pay a monthly fee to PayPal to use this?

No! Website Payments Standard has no monthly cost. They do keep 2-3% of the donation.

Can I customize the thank you message emailed to donors?


Can I have multiple emails addresses receive notification when a donation is made?


In-depth technical FAQ

An in-depth technical FAQ is available on the plugin’s home page. If you can’t find an answer there, you are invited to post questions here on the Support boards.

Mailing List

If you’d like to keep up with the latest updates to this plugin, please visit David’s Lab Notes and add yourself to the mailing list.


4 de agosto de 2017
I've been using this plugin for years on a customer's website and love it. It's easy and straight forward to set up and allows us all the function we need for our small organization. The front end is clear and easy to understand for the donor. I would definitely recommend this plugin!
13 de enero de 2017
David provides excellent support and it is well written with many hooks and filters so you can easily customize the plugin for your own needs by building a plugin that extends it. Also, if you are just doing a simple donation form then it completely works out of the box. I have also purchased the giving level manager and that works beautifully as well! Thanks!
Leer todas las 51 reseñas

Colaboradores y desarrolladores

«Seamless Donations» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


«Seamless Donations» ha sido traducido a 1 idioma local. Gracias a los traductores por sus contribuciones.

Traduce «Seamless Donations» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

IMPORTANT: Support has moved to the ZATZLabs site and is no longer provided on the forums. Please visit the new Seamless Donations Community Forums. If you need a timely reply from the developer, please open a ticket.


  • Fixed a typo (an extra slash) introduced in 4.0.22. Thanks again, Jacob!


  • Incorporated fixes from user Rachel3004 (Jacob) for PayPal’s apparent deprecation of fsockopen.


  • Added PayPal TLS test results to Settings panel
  • Removed option to see obsolete IPN


  • Tweak that might help some very out-of-date users update more successfully.
  • Tweak to PayPal arguments to provide better plugin support


  • Minor update to add new support information and notice


  • Minor update to improve TLS compatibility with PayPal
  • Added an option (that should probably never be used) to turn on legacy SSL for PayPal transactions


  • Added processing mode entry to log
  • Fixed spurious blank IPN log entries
  • Fixed bug that wrote incorrect IPN to log entries
  • Fixed nasty little bug introduced in 4.0.16 that substantially slowed processing by calling both IPN handlers on every page


  • Required update for PayPal https IPN compatibility
  • Added https verification and notification code to PayPal section in preparation for PayPal security update
  • Added https-compliant IPN URL to PayPal settings section in preparation for PayPal security update
  • Added helpful note to Host Compatibility Options section


  • Added Donations This Month widget
  • Added failover PayPal security option with cURL TLS support
  • Added new Host Compatibility Options section in settings
  • Added host compatibility option and mechanism to process form data via initiating page or post rather than external PHP file
  • Added host compatibility option and mechanism to bypass nonce validation for those hosts who break nonces on form submission
  • Added host compatibility option and mechanism to generate unique transaction IDs in JavaScript rather than at the host
  • Added nicer styled beta labels
  • Added versioning to transaction IDs
  • Added option to obscurify donor names shown in logs
  • Donor names in logs now default to obscurified names unless otherwise turned off
  • Modified YouTube tutorial video in main admin panel to resize responsively
  • Changed name of main Debug Mode section to Debug Options
  • Fixed a bug where UK Gift Aid selection was not being recorded. Unfortunately, the data wasn’t actually written to any transaction logging due to a code typo, so there’s no pre-existing gift aid data available for recovery.



  • On the donor detail page, each donation now shows as Yes or No depending on whether the donation was made anonymously
  • On the donor detail page, each donor’s overall anonymity flag is displayed under the address
  • Donor records now have an internal overall anonymity flag. If a donor ever specified anonymity in any donation, that donor’s record is flagged as anonymous (even if the donor doesn’t ask for anonymity in other donations)
  • The cross-reference rebuild option in the Settings Debug Mode now also rebuilds the anonymity indexes


  • Clicking into a fund now displays a list of donations for each fund
  • Added a new Settings option to Debug Mode that allows users to rebuild the cross-reference index
  • New update to Spanish translation, courtesy David Chavez
  • Added a helpful prompt guiding users to the PayPal video tutorial and another to remind users to switch email addresses when moving from Sandbox to Live mode
  • Implemented important architectural change in funds, so donations and funds now cross-index
  • Implemented cross-reference rebuild function for funds and donors, so databases can be reindexed if necessary
  • Implemented an internal stored running total for funds and donors for performance
  • Modified license check code to provide details to error log
  • Refactored the donations.php file to make it easier to maintain
  • Renamed some donations functions from ‘transient’ to ‘transaction’ for accuracy
  • Added a new ‘seamless_donations_admin_settings_before_tweaks’ action that allows placing items on the Settings tabs before the lower-priority tweaks and debugging elements
  • Fixed bug where funds showed unsupported post-related options that could cause breakage


  • Added helpful upgrade notes
  • Added dgx_donate_thank_you_email_body hook. This works with the legacy text-only mailer, takes in body text of email and returns back a possibly modified body text
  • Minor bug fix


  • Fixed another bug in repeating donations


  • Added Add-ons and Licensing tabs, along with full licensing and premium extensions support
  • Added a new beta tweak to Settings tab that tucks Donations, Funds, and Donor custom post types under the Seamless Donations menu
  • Added Portuguese translation (thanks to Daniel Sousa)
  • Added Singapore as a country requiring a postal code
  • Fixed initial display of postal code for countries other than US, CA, UK
  • Fixed bug on Donations and Donors list page where «Add New» was an available option. You can only add donations through the shortcode


  • Added support for GoodBye Captcha spam-blocking plugin
  • Fixed bug limiting notification emails to one email address
  • Fixed other minor and potential bugs in the code


  • Fixed bug in repeating donations


  • Added a transaction audit database table that replaced the unreliable transient data system.
  • Rewrote payment initiation system. Payments no longer are initiated by JavaScript running on visitors’ browsers, but by a PHP script running inside the plugin on the server.
  • Added new shortcode extensibility system.
  • Added a debug mode checkbox to the Settings panel.
  • Full Lab Notes on update fixes here and here.


  • Public beta release only


  • Beta release only


  • Fixed fatal bug introduced in 4.0.2


  • Added Spanish translation (thanks to David Chávez) and French translation (thanks to Etienne Lombard).
  • Added new Form Tweaks section to Form Options, with an option to enable Label Tags. This may improve form layout for some themes, particularly those where vertical form field alignment needs improvement.
  • Added an indicator comment in the form code to allow inspection to determine the version of the plugin that’s currently running.
  • Fixed bug in legacy export code introduced in 4.0. Unnecessary mode check caused the routine to fail.
  • Fixed bug where getting the plugin version number failed internally in some instances.


  • Added German translation
  • Fixed problem with Windows servers and long path names
  • Fixed multiple currency-related bugs: be sure to re-save your settings for this fix to take effect
  • Fixed the giving level filter
  • Fixed «undefined index» error
  • Fixed bug where default fields didn’t default properly
  • Fixed overly oppressive field sanitization
  • Full Lab Notes on update fixes here


  • Major update
  • Added updated, modern UI
  • Funds and donors have now been implemented as custom post types.
  • Designed for extensibility with support for wide range of hooks
  • Array-driven forms engine
  • Translation-ready


  • Added update notice warning and splash so current site operators can have some warning before the new 4.0 version lands. Also added MailChimp subscribe form to main plugin page.


  • Officially adopting the plugin and beginning support by David Gewirtz as new developer


  • Officially marking this plugin as unsupported and putting it up for adoption


  • Updated: Seamless Donation news feed updated to point to
  • Fixed: Corrected variable name to resolve PHP Warning for formatted amount that would be displayed on sending a test email
  • Fixed: Corrected variable name to resolve PHP error for new donation created from PayPal data


  • Tested with WordPress 4.1


  • Changed PayPal IPN reply to use TLS instead of SSL because of the POODLE vulnerability
  • Changed PayPal IPN reply to better handle unexpected characters and avoid IPN verification failure – props smarques


  • Fixed: Don’t start a PHP session if one has already been started – props nikdow and gingrichdk


  • Fixed: Unwanted extra space in front of Add me to your mailing list prompt


  • Added Currency Support: Brazilian Real, Czech Krona, Danish Krone, Hong Kong Dollar, Hungarian Forint, Israeli New Sheqel
  • Added Currency Support: Malaysian Ringit, Mexican Peso, Norwegian Krone, New Zealand Dollar, Philippine Peso, Polish Zloty
  • Added Currency Support: Russian Ruble, Singapore Dollar, Swedish Krona, Swiss Franc, Taiwan New Dollar, Thai Bhat, Turkish Lira


  • Added: Occupation field to donation form and to donation detail in admin
  • Added: Employer name to donation detail in admin
  • Added: Employer and occupation fields to report


  • Added: More control over which parts of the donation form appear


  • Added: Filter for donation item name
  • Added IDs for form sections to allow for more styling of the donation form


  • Fixed: A few strings were not properly marked for translation.


  • Fixed: Bug: Removed unused variable that was causing PHP warning


  • Fixed: Bug: Was using admin_print_styles to enqueue admin CSS. Switched to correct hook – admin_enqueue_scripts


  • Added: Gift Aid checkbox for UK donors
  • Fixed: Bug that would cause IPN notifications to not be received


  • Added: Optional employer match section to donation form – props Jamie Summerlin
  • Fixed: Javascript error in admin on settings page


  • Fixed: Don’t require postal code for countries that don’t require postal codes
  • Fixed: International tribute gift addresses were not displaying country information in donation details


  • Added: Support for non US currencies: Australian Dollar, Canadian Dollar, Euro, Pound Sterling, and Japanese Yen


  • Added: Support for specifying name for emails to donors (instead of WordPress)
  • Added: Automatic textarea height increase for email templates and thank you page
  • Fixed: Bug that would allow invalid email address to cause email to donor to not go out (defaults to admin email now)


  • Added: Support for donors located outside the United States


  • Added: Support for repeating donations
  • Added: Support for loading scripts in footer
  • Added: Greyed out donate button on click
  • Added: Prompt to confirm before deleting a donation in admin
  • Added: Seamless Donations news feed to main plugin admin page
  • Added: Help/FAQ submenu
  • Added: Replaced main admin page buttons with Quick Links
  • Added: Display of PayPal IPN URL in Settings
  • Added: More logging to PayPal IPN for troubleshooting hosts that don’t support fsockopen to PayPal on 443
  • Fixed: Bug in displaying thank you after completing donation
  • Fixed: Changed admin log formatting to make reading, cutting and pasting easier
  • Fixed: Major update to admin pages code in support of localization


  • Added support for designated funds
  • Fixed: A couple warnings when saving changes to thank you email templates.


  • Fixed: Cleaned up warnings when run with WP_DEBUG


  • Fixed: Changed form submit target to _top most window (in case theme places content in iframes)
  • Fixed: Updated plugin URI to point to


  • Automatically trim whitespace from PayPal email address to avoid common validation error and improve usability.


  • Changed mail function to use WordPress wp_mail instead of PHP mail – this should help avoid dropped emails


  • Added the ability to export donation information to spreadsheet (CSV – comma separated values)


  • Added a setting to allow you to turn the Tribute Gift section of the form off if you’d like


  • Added the ability to delete a donation (e.g. if you create a test donation)


  • Rolled back change in 2.1.6 for ajax display due to unanticipated problem with search


  • Added ajax error display to aid in debugging certain users not being able to complete donations on their sites


  • Changed plugin name to simply Seamless Donations


  • Added logging, log menu item and log display to help troubleshoot IPN problems


  • Changed PayPal cmd from _cart to _donations to avoid donations getting delayed


  • Removed tax deductible from donation form, since not everyone using the plugin is a charity


  • Added missing states – AK and AL – to donation form
  • Added more checks for invalid donation amounts (minimum donation is set to 1.00)
  • Added support for WordPress installations using old-style (not pretty) permalinks
  • Fix bug that caused memorial gift checkbox to be ignored


  • Added new suggested giving amounts
  • Now allows you to choose which suggested giving amounts are displayed on the donation form
  • Added ability to change the default state for the donation form


  • Initial release to WordPress.Org repository