

Plugin settings page showing the Environment and API Credentials tab with PayPal connection status.
DonateOcean is a free PayPal donation plugin for nonprofits, charities, churches, schools, and fundraising organizations. Accept one-time and recurring PayPal donations on your website, send automated tax receipts, track campaign progress, and let supporters manage their own subscriptions through a secure self-service portal.
Every PayPal donation is confirmed by webhook-verified payment: PayPal’s servers notify your site directly, so donations are recorded even if the donor closes their browser before the redirect completes. If a webhook delivery is delayed or temporarily unavailable, the plugin retries verification and updates the donation record once confirmation is received from PayPal.
All features ship in the free GPL release. There is no premium tier, no paid add-ons, and no platform fees — you only pay PayPal’s standard processing fees.
.pot fileEach integration is disabled by default and only activates after credentials are entered.
Add the donation form to any page or post:
[donadosu_donation]
Examples:
[donadosu_donation campaign="building-fund" goal_amount="50000" goal_current="auto"]
[donadosu_donation display_mode="modal" donation_mode="both" fee_coverage="1"]
[donadosu_donation amounts="25,50,100,250" min_amount="10" button_text="Donate Now"]
Add a self-service subscription management portal:
[donadosu_donor_portal]
Donors enter their email, receive a secure magic link (valid for 30 minutes), and can view or cancel their active subscriptions. No account required.
Full shortcode and block attribute documentation is available in the plugin settings help tab.
DonateOcean is fully translation-ready and ships with a complete .pot file. Community translations are welcome through the translation platform once it is available for this plugin.
This plugin relies on third-party services to process payments and (optionally) sync donor data to external systems. Each service is described below, including what it is, when data is sent to it, what data is sent, and links to its Terms of Service and Privacy Policy. The plugin only contacts a service when the relevant feature is configured by an administrator; optional integrations remain inactive until their credentials are entered on the plugin settings page.
PayPal (required for online donation processing)
PayPal is the payment processor that handles every online donation. Without PayPal credentials, the plugin cannot accept online donations; manual (offline) donations recorded in the admin are the only exception.
https://api-m.paypal.com (Live mode) or https://api-m.sandbox.paypal.com (Sandbox mode). The PayPal JavaScript SDK is loaded from https://www.paypal.com/sdk/js on any page that renders the donation form.mbjtechnolabs_sp. This is a non-personal integration identifier provided by the plugin’s PayPal technology partner (MBJ Technolabs). It does not transmit any donor data, does not change the donation amount, fees, or where funds are deposited (donations are always paid into your own connected PayPal account), and is used only so PayPal can recognise the integration. It can be removed by filtering the SDK attributes if you prefer.Optional integrations
https://<dc>.api.mailchimp.com/3.0/ on each completed donation to add the donor to the configured audience. Data sent: donor name, donor email, and the Mailchimp list ID. Terms of Service: https://mailchimp.com/legal/terms/ — Privacy Policy: https://mailchimp.com/legal/privacy/https://api.cc.email/v3/ on each completed donation to subscribe the donor to the configured list. Data sent: donor name, donor email, and the Constant Contact list ID. Terms of Service: https://www.constantcontact.com/legal/terms — Privacy Policy: https://www.constantcontact.com/legal/privacy-centerhttps://api.brevo.com/v3/ on each completed donation to subscribe the donor to the configured list (optionally with double opt-in). Data sent: donor name, donor email, and the Brevo list ID. Terms of Service: https://www.brevo.com/legal/termsofuse/ — Privacy Policy: https://www.brevo.com/legal/privacypolicy/https://api.twilio.com/2010-04-01/ to send a text message to the administrator-configured notification phone number when a donation, refund, or dispute event occurs. Data sent: the administrator’s notification phone number, the Twilio “from” phone number, and an SMS body containing the donation amount, currency, and campaign name. No donor personally identifiable information is sent by default. Terms of Service: https://www.twilio.com/legal/tos — Privacy Policy: https://www.twilio.com/legal/privacyhttps://oauth2.googleapis.com/token to authenticate with a service account, then https://sheets.googleapis.com/v4/spreadsheets to append a row on each completed donation. Data sent: donation date, amount, currency, donor name, donor email, campaign, and donation identifier, written to the administrator-supplied spreadsheet. Terms of Service: https://policies.google.com/terms — Privacy Policy: https://policies.google.com/privacyG-XXXXXXXXXX) and/or Container ID (GTM-XXXXXXX). When active, the visitor’s browser loads https://www.googletagmanager.com/gtag/js and/or https://www.googletagmanager.com/gtm.js and Google receives standard analytics data (such as IP address, page URL, and donation-conversion events). These tags are only rendered after analytics consent: the plugin integrates with the WordPress Consent API (statistics category) when a consent-management plugin is active, otherwise honours the plugin’s “require consent” setting and the donadosu_analytics_has_consent filter. Terms of Service: https://marketingplatform.google.com/about/analytics/terms/us/ — Privacy Policy: https://policies.google.com/privacyApart from the optional Google Analytics / Tag Manager integration described above, the plugin does not send any data to DonateOcean servers or to any other analytics or telemetry service.
Donation records, donor profiles, and plugin settings are stored locally in the site’s database. Payment processing is handled by PayPal; full card details are never stored on the site server by the plugin. PDF receipts are generated on demand and are not retained on the server after delivery.
DonateOcean stores donor information (name, email, billing address, donation history) in your database as post meta. No donor data is transmitted to the plugin author.
For convenience, the donation form may also remember a returning donor’s own contact details (name, email, phone, and company) in their browser’s local storage on the device they donate from, so the form can pre-fill on their next visit. This data stays in the visitor’s own browser, is not transmitted anywhere by this feature, and can be cleared by clearing the browser’s site data.
The plugin integrates with the core privacy tools to fulfill data subject requests:
For details on data shared with third-party services (PayPal and optional integrations), see the External Services section above.