{"id":302486,"date":"2026-04-30T05:57:39","date_gmt":"2026-04-30T05:57:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/donatix-donation-suite\/"},"modified":"2026-05-04T09:39:58","modified_gmt":"2026-05-04T09:39:58","slug":"donateocean-donation-suite","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/donateocean-donation-suite\/","author":15770492,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"DonateOcean - Donation Suite","header_author":"easypayment","header_description":"Accept secure PayPal donations in WordPress with webhook-verified completion, donation tracking, automated receipts, and a full charity-ready admin suite.","assets_banners_color":"77c8bd","last_updated":"2026-05-04 09:39:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/donateocean-donation-suite","header_author_uri":"https:\/\/profiles.wordpress.org\/easypayment\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":114,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"easypayment","date":"2026-05-04 09:39:58"}},"upgrade_notice":{"1.0.0":"<p>Initial release of DonateOcean.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3519414,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3519414,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3519414,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3519414,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"donadosu\/donation-form":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"donadosu\/donation-form","version":"1.0.1","title":"Donation Suite Form","category":"widgets","icon":"heart","description":"Embed a PayPal donation form anywhere on your site.","keywords":["donation","donate","paypal","charity","fundraise"],"textDomain":"donateocean-donation-suite","editorScript":"file:.\/index.js","style":"file:..\/..\/assets\/css\/donate.css","supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true}},"attributes":{"campaign":{"type":"string","default":""},"purpose":{"type":"string","default":""},"currency":{"type":"string","default":""},"donorFields":{"type":"boolean","default":true},"displayMode":{"type":"string","default":"inline","enum":["inline","modal","widget","page"]},"goalAmount":{"type":"number","default":0},"goalCurrent":{"type":"string","default":""},"goalLabel":{"type":"string","default":"Campaign progress"},"buttonText":{"type":"string","default":"Donate with PayPal"},"buttonColor":{"type":"string","default":""},"thankYouUrl":{"type":"string","default":""},"redirectOnSuccess":{"type":"boolean","default":false},"donationMode":{"type":"string","default":"both","enum":["one_time","monthly","annual","both"]},"amounts":{"type":"string","default":""},"locale":{"type":"string","default":""},"campaignStart":{"type":"string","default":""},"campaignEnd":{"type":"string","default":""},"goalClose":{"type":"boolean","default":false},"minAmount":{"type":"string","default":""},"maxAmount":{"type":"string","default":""},"feeCoverage":{"type":"boolean","default":false},"cssClass":{"type":"string","default":""}}}},"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Donation form with preset amounts, custom amount entry, goal progress bar, and donor fields in inline display mode.","2":"Donation form displayed as a modal popup overlay.","3":"Plugin settings page showing the Environment and API Credentials tab with PayPal connection status.","4":"Plugin settings page showing the Donation Experience tab with recurring donations, fee coverage, and amount configuration.","5":"Plugin settings page showing the Organization and Compliance tab for charity details, tax ID, and receipt customization.","6":"Plugin settings page showing the Integrations tab.","7":"Donations list in WordPress admin with date range filters, campaign filters, and quick action links.","8":"Donation detail page showing the complete status history timeline, donor information, and refund button.","9":"Donor profile page displaying aggregate giving statistics, lifetime total, and complete donation history.","10":"Downloadable PDF donation receipt with organization details and tax information.","11":"WordPress dashboard widgets showing the 12-month Donation Analytics chart and Webhook Health monitor.","12":"Manual donation entry form for recording offline cash, check, and bank transfer donations."},"jetpack_post_was_ever_published":false},"plugin_section":[262246],"plugin_tags":[616,5800,5801,15130,334],"plugin_category":[45],"plugin_contributors":[150381],"plugin_business_model":[],"class_list":["post-302486","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-donate","plugin_tags-donations","plugin_tags-fundraising","plugin_tags-nonprofit","plugin_tags-paypal","plugin_category-ecommerce","plugin_contributors-easypayment","plugin_committers-easypayment"],"banners":{"banner":"https:\/\/ps.w.org\/donateocean-donation-suite\/assets\/banner-772x250.png?rev=3519414","banner_2x":"https:\/\/ps.w.org\/donateocean-donation-suite\/assets\/banner-1544x500.png?rev=3519414","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/donateocean-donation-suite\/assets\/icon-128x128.png?rev=3519414","icon_2x":"https:\/\/ps.w.org\/donateocean-donation-suite\/assets\/icon-256x256.png?rev=3519414","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>DonateOcean<\/strong> is a WordPress PayPal donation plugin for nonprofits, charities, churches, schools, and fundraising organizations.<\/p>\n\n<p>Accept one-time and recurring donations, send automated tax receipts, manage donors, track fundraising campaigns, and let supporters manage their own subscriptions through a secure self-service portal. All features are included in the GPL release, with no separate premium add-ons.<\/p>\n\n<p>Every donation is confirmed by <strong>webhook-verified payment<\/strong>: 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.<\/p>\n\n<h4>Why nonprofits choose DonateOcean<\/h4>\n\n<ul>\n<li><strong>No paid tier, no upsells<\/strong> \u2014 every feature shipped is available to every user; you only pay PayPal's standard processing fees<\/li>\n<li><strong>Built for fundraising<\/strong> \u2014 campaigns, goals, tributes, anonymous giving, and offline donations in one place<\/li>\n<li><strong>Webhook-backed reliability<\/strong> \u2014 donations are recorded even when the browser callback drops<\/li>\n<li><strong>Donor self-service<\/strong> \u2014 donors manage their own subscriptions through a secure magic-link portal, no WordPress account required<\/li>\n<li><strong>GDPR-aware<\/strong> \u2014 includes tools that assist with personal data export, erasure, and retention workflows<\/li>\n<\/ul>\n\n<h4>Core features<\/h4>\n\n<ul>\n<li><strong>PayPal Orders API v2<\/strong> \u2014 credit card, debit card, and PayPal balance<\/li>\n<li><strong>Webhook-verified payments<\/strong> \u2014 every donation confirmed by PayPal signature<\/li>\n<li><strong>Recurring donations<\/strong> \u2014 monthly and annual PayPal Subscriptions with admin controls<\/li>\n<li><strong>Donor self-service portal<\/strong> \u2014 donors manage subscriptions via secure magic link<\/li>\n<li><strong>Four display modes<\/strong> \u2014 inline, modal, widget, and full-page donation forms<\/li>\n<li><strong>Fundraising goals<\/strong> \u2014 progress bar with manual or automatic amount tracking<\/li>\n<li><strong>Campaign date gating<\/strong> \u2014 schedule campaign open and close dates<\/li>\n<li><strong>Tribute donations<\/strong> \u2014 \"In honor of\" and \"In memory of\" giving<\/li>\n<li><strong>Anonymous donations<\/strong> and <strong>optional fee coverage<\/strong><\/li>\n<li><strong>Automated HTML receipts<\/strong> and <strong>PDF receipt downloads<\/strong><\/li>\n<li><strong>Year-end tax summaries<\/strong> for each donor<\/li>\n<li><strong>Full admin suite<\/strong> \u2014 donations list, detail page, donor profiles, dashboard widgets<\/li>\n<li><strong>CSV export<\/strong> \u2014 up to 10,000 records with all metadata<\/li>\n<li><strong>Manual donations<\/strong> \u2014 record cash, check, and bank transfer donations<\/li>\n<li><strong>Full and partial refunds<\/strong> via the PayPal Captures API<\/li>\n<li><strong>Dispute management<\/strong> with automatic tracking and alerts<\/li>\n<li><strong>Custom roles<\/strong> \u2014 Donation Viewer (read-only) and Donation Manager<\/li>\n<li><strong>Capability-checked admin actions<\/strong> \u2014 refunds, settings changes, exports, and manual donation entry are all gated by WordPress capability checks<\/li>\n<li><strong>GDPR compliant<\/strong> \u2014 personal data export, erasure, and retention<\/li>\n<li><strong>Accessible donation form<\/strong> \u2014 keyboard-navigable controls and screen-reader-friendly labels and validation messages<\/li>\n<li><strong>Gutenberg block<\/strong> with all settings as Inspector Controls<\/li>\n<li><strong>Translation ready<\/strong> with a complete <code>.pot<\/code> file<\/li>\n<li><strong>Zero runtime dependencies<\/strong> \u2014 no Composer or npm required<\/li>\n<\/ul>\n\n<h4>Integrations<\/h4>\n\n<p>Each integration is disabled by default and only activates after credentials are entered.<\/p>\n\n<ul>\n<li><strong>Mailchimp<\/strong> \u2014 auto-subscribe donors to your mailing list<\/li>\n<li><strong>Constant Contact<\/strong> \u2014 auto-subscribe donors on donation completion<\/li>\n<li><strong>ActiveCampaign<\/strong> \u2014 add donors to your CRM and email lists<\/li>\n<li><strong>Brevo (Sendinblue)<\/strong> \u2014 auto-subscribe with optional double opt-in<\/li>\n<li><strong>Zapier<\/strong> \u2014 trigger 5,000+ app workflows on donation events<\/li>\n<li><strong>Slack<\/strong> \u2014 receive rich donation notifications in any channel<\/li>\n<li><strong>Twilio SMS<\/strong> \u2014 get text alerts for donations, refunds, and disputes<\/li>\n<li><strong>Google Sheets<\/strong> \u2014 log every donation to a spreadsheet automatically<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<p>Add the donation form to any page or post:<\/p>\n\n<pre><code>[donadosu_donation]\n<\/code><\/pre>\n\n<p>Examples:<\/p>\n\n<pre><code>[donadosu_donation campaign=\"building-fund\" goal_amount=\"50000\" goal_current=\"auto\"]\n\n[donadosu_donation display_mode=\"modal\" donation_mode=\"both\" fee_coverage=\"1\"]\n\n[donadosu_donation amounts=\"25,50,100,250\" min_amount=\"10\" button_text=\"Donate Now\"]\n<\/code><\/pre>\n\n<p>Add a self-service subscription management portal:<\/p>\n\n<pre><code>[donadosu_donor_portal]\n<\/code><\/pre>\n\n<p>Donors enter their email, receive a secure magic link (valid for 30 minutes), and can view or cancel their active subscriptions. No WordPress account required.<\/p>\n\n<p>Full shortcode and block attribute documentation is available in the plugin settings help tab.<\/p>\n\n<h4>Translations<\/h4>\n\n<p>DonateOcean is fully translation-ready and ships with a complete <code>.pot<\/code> file. Community translations are welcome through the WordPress.org translation platform once it is available for this plugin.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>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.<\/p>\n\n<p><strong>PayPal (required for online donation processing)<\/strong><\/p>\n\n<p>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.<\/p>\n\n<ul>\n<li>What it is: PayPal's REST API (Orders v2, Subscriptions v1, Webhooks) and the PayPal JavaScript SDK used to render the payment buttons.<\/li>\n<li>When data is sent: each time a visitor initiates a donation (order creation), completes payment (order capture), creates or manages a subscription, when an administrator issues a refund, and whenever PayPal posts a webhook event that the plugin verifies.<\/li>\n<li>Endpoints contacted: <code>https:\/\/api-m.paypal.com<\/code> (Live mode) or <code>https:\/\/api-m.sandbox.paypal.com<\/code> (Sandbox mode). The PayPal JavaScript SDK is loaded from <code>https:\/\/www.paypal.com\/sdk\/js<\/code> on any page that renders the donation form.<\/li>\n<li>Data sent: donation amount, currency, frequency (one-time or recurring), donor name, donor email, billing address (when provided), shipping address (when provided), campaign identifier, and the order or subscription identifier.<\/li>\n<li>PayPal Terms of Service: https:\/\/www.paypal.com\/us\/legalhub\/paypal\/useragreement-full<\/li>\n<li>PayPal Privacy Statement: https:\/\/www.paypal.com\/us\/legalhub\/paypal\/privacy-full<\/li>\n<\/ul>\n\n<p><strong>Optional integrations<\/strong><\/p>\n\n<ul>\n<li><strong>Mailchimp<\/strong> \u2014 an email marketing service. When enabled, the plugin contacts <code>https:\/\/&lt;dc&gt;.api.mailchimp.com\/3.0\/<\/code> 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\/ \u2014 Privacy Policy: https:\/\/mailchimp.com\/legal\/privacy\/<\/li>\n<li><strong>Constant Contact<\/strong> \u2014 an email marketing service. When enabled, the plugin contacts <code>https:\/\/api.cc.email\/v3\/<\/code> 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 \u2014 Privacy Policy: https:\/\/www.constantcontact.com\/legal\/privacy-center<\/li>\n<li><strong>ActiveCampaign<\/strong> \u2014 a CRM and email marketing service. When enabled, the plugin contacts the administrator-supplied ActiveCampaign account URL on each completed donation to add the donor as a contact and attach them to the configured list. Data sent: donor name, donor email, and the ActiveCampaign list ID. Terms of Service: https:\/\/www.activecampaign.com\/legal\/ \u2014 Privacy Policy: https:\/\/www.activecampaign.com\/legal\/privacy-policy<\/li>\n<li><strong>Brevo (Sendinblue)<\/strong> \u2014 an email marketing service. When enabled, the plugin contacts <code>https:\/\/api.brevo.com\/v3\/<\/code> 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\/ \u2014 Privacy Policy: https:\/\/www.brevo.com\/legal\/privacypolicy\/<\/li>\n<li><strong>Twilio SMS<\/strong> \u2014 a cloud-based SMS service. When enabled, the plugin contacts <code>https:\/\/api.twilio.com\/2010-04-01\/<\/code> 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 \u2014 Privacy Policy: https:\/\/www.twilio.com\/legal\/privacy<\/li>\n<li><strong>Google Sheets<\/strong> \u2014 Google's spreadsheet service. When enabled, the plugin contacts <code>https:\/\/oauth2.googleapis.com\/token<\/code> to authenticate with a service account, then <code>https:\/\/sheets.googleapis.com\/v4\/spreadsheets<\/code> 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 \u2014 Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<li><strong>Slack<\/strong> \u2014 a team messaging service. When enabled, the plugin contacts the administrator-supplied Slack incoming-webhook URL on each completed donation to post a notification message. Data sent: donation amount, currency, campaign name, and (if the administrator has not disabled it in settings) the donor name. Terms of Service: https:\/\/slack.com\/terms-of-service\/user \u2014 Privacy Policy: https:\/\/slack.com\/trust\/privacy\/privacy-policy<\/li>\n<li><strong>Zapier<\/strong> \u2014 a workflow automation service. When enabled, the plugin contacts the administrator-supplied Zapier webhook URL on each donation event (completed, refunded, subscription created, subscription cancelled) to trigger a Zap. Data sent: the donation payload including amount, currency, frequency, donor name, donor email, campaign, event type, and donation identifier. Terms of Service: https:\/\/zapier.com\/legal \u2014 Privacy Policy: https:\/\/zapier.com\/privacy<\/li>\n<\/ul>\n\n<p>The plugin does not send any data to DonateOcean servers or to any analytics or telemetry service.<\/p>\n\n<h3>Data Storage<\/h3>\n\n<p>Donation records, donor profiles, and plugin settings are stored locally in the site's WordPress 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.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>DonateOcean stores donor information (name, email, billing address, donation history) in your WordPress database as post meta. No donor data is transmitted to the plugin author.<\/p>\n\n<p>The plugin integrates with the WordPress core privacy tools to fulfill data subject requests:<\/p>\n\n<ul>\n<li><strong>Personal data export<\/strong> \u2014 a donor's complete giving history can be exported via <strong>Tools &gt; Export Personal Data<\/strong>.<\/li>\n<li><strong>Personal data erasure<\/strong> \u2014 a donor's personally identifiable information can be erased via <strong>Tools &gt; Erase Personal Data<\/strong>, while preserving anonymized aggregate financial records.<\/li>\n<li><strong>Automatic retention<\/strong> \u2014 administrators can configure automatic erasure of donor PII after a set number of months.<\/li>\n<li><strong>Uninstall cleanup<\/strong> \u2014 before deleting the plugin, administrators can opt in from the settings page to remove all DonateOcean data from the WordPress database.<\/li>\n<\/ul>\n\n<p>For details on data shared with third-party services (PayPal and optional integrations), see the <strong>External Services<\/strong> section above.<\/p>\n\n<!--section=installation-->\n<h4>Automatic installation<\/h4>\n\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for <strong>DonateOcean<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>DonateOcean &gt; Settings<\/strong> in the admin menu.<\/li>\n<li>Enter your PayPal API credentials (Client ID and Secret).<\/li>\n<li>Save settings \u2014 the plugin attempts to register the PayPal webhook endpoint automatically.<\/li>\n<li>Add <code>[donadosu_donation]<\/code> to any page or use the <strong>DonateOcean Form<\/strong> Gutenberg block.<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file from the WordPress Plugin Directory.<\/li>\n<li>In WordPress admin, go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Upload the ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate <strong>DonateOcean<\/strong> through the Plugins screen.<\/li>\n<li>Follow steps 4\u20137 from the automatic installation instructions above.<\/li>\n<\/ol>\n\n<h4>Getting your PayPal API credentials<\/h4>\n\n<ol>\n<li>Log in to the <a href=\"https:\/\/developer.paypal.com\/\">PayPal Developer Dashboard<\/a>.<\/li>\n<li>Navigate to <strong>Apps &amp; Credentials<\/strong>.<\/li>\n<li>Create a new REST API app or select an existing one.<\/li>\n<li>Copy the <strong>Client ID<\/strong> and <strong>Secret<\/strong> for your chosen environment (Sandbox or Live).<\/li>\n<li>Paste them into the DonateOcean settings page and save.<\/li>\n<\/ol>\n\n<p>We recommend testing with Sandbox credentials before switching to Live mode.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20accept%20paypal%20donations%20on%20wordpress%3F\"><h3>How do I accept PayPal donations on WordPress?<\/h3><\/dt>\n<dd><p>Install DonateOcean from the WordPress Plugin Directory, enter your PayPal API credentials (Client ID and Secret) on the settings page, and place the <code>[donadosu_donation]<\/code> shortcode on any page or use the DonateOcean Gutenberg block. The plugin attempts to register the PayPal webhook automatically, so completed donations are recorded even if the donor closes their browser before the redirect completes.<\/p><\/dd>\n<dt id=\"is%20donateocean%20free%3F\"><h3>Is DonateOcean free?<\/h3><\/dt>\n<dd><p>Yes, and there is no paid tier. Every feature shipped in the plugin is available to every user under the GPLv2 or later license. There are no locked features, premium add-ons, or upsells from the plugin author. The only cost of using the plugin is PayPal's standard payment processing fees, which are paid directly to PayPal.<\/p><\/dd>\n<dt id=\"does%20this%20work%20for%20nonprofits%2C%20churches%2C%20charities%2C%20and%20schools%3F\"><h3>Does this work for nonprofits, churches, charities, and schools?<\/h3><\/dt>\n<dd><p>Yes. DonateOcean is designed for any 501(c)(3), registered charity, religious organization, school, or community fundraising group. It supports tax-deductible receipts with your organization name, tax ID, and a customizable tax disclaimer; tribute donations (\"In honor of\" \/ \"In memory of\"); and recurring giving for sustaining donors.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20donate%20button%20to%20wordpress%3F\"><h3>How do I add a donate button to WordPress?<\/h3><\/dt>\n<dd><p>Place the <code>[donadosu_donation]<\/code> shortcode on any page or post, or insert the <strong>DonateOcean Form<\/strong> block in the Gutenberg editor. You can also choose between four display modes \u2014 inline, modal popup, sidebar widget, or a dedicated full-page form \u2014 to match your site's design.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20recurring%20donations%3F\"><h3>How do I set up recurring donations?<\/h3><\/dt>\n<dd><p>Recurring donations are enabled by default. In the Donation Experience settings, choose which frequencies to offer (one-time, monthly, annual, or all three) and which is selected by default. Donors can manage or cancel their own subscriptions through the donor portal \u2014 no WordPress account needed.<\/p><\/dd>\n<dt id=\"which%20payment%20methods%20are%20supported%3F\"><h3>Which payment methods are supported?<\/h3><\/dt>\n<dd><p>The plugin processes payments through PayPal, which supports PayPal balance, credit cards, debit cards, and local payment methods available in the donor's country. It uses PayPal's Orders API v2 and optionally supports Advanced Credit and Debit Card Fields for direct card entry without leaving your site.<\/p><\/dd>\n<dt id=\"can%20i%20test%20donations%20before%20going%20live%3F\"><h3>Can I test donations before going live?<\/h3><\/dt>\n<dd><p>Yes. Enable Sandbox mode in the plugin settings and enter your PayPal Sandbox API credentials to test donations, receipts, webhooks, and refunds before switching to Live mode.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20configure%20the%20paypal%20webhook%20manually%3F\"><h3>Do I need to configure the PayPal webhook manually?<\/h3><\/dt>\n<dd><p>No. The plugin automatically registers the webhook endpoint with PayPal when you save your API credentials. If automatic registration fails (for example, on a localhost environment), you can configure it manually in your PayPal Developer Dashboard and paste the Webhook ID into the plugin settings.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20donation%20receipts%20automatically%3F\"><h3>Does the plugin send donation receipts automatically?<\/h3><\/dt>\n<dd><p>Yes. When a donation is completed, the plugin sends an HTML receipt email to the donor and a notification email to your organization. Receipts include your organization name, tax ID, and a customizable tax disclaimer. Administrators can also download a PDF receipt from the admin panel.<\/p><\/dd>\n<dt id=\"can%20i%20issue%20refunds%20from%20wordpress%3F\"><h3>Can I issue refunds from WordPress?<\/h3><\/dt>\n<dd><p>Yes. On the donation detail page, administrators can process full or partial refunds via the PayPal Captures API. The donation status updates automatically and the refund is recorded in the status history timeline.<\/p><\/dd>\n<dt id=\"can%20i%20record%20offline%20donations%20like%20cash%20and%20checks%3F\"><h3>Can I record offline donations like cash and checks?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>DonateOcean &gt; Add Manual Donation<\/strong> to record cash, check, bank transfer, or other offline donations. These appear in all reports, CSV exports, and donor profiles alongside PayPal donations.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20gdpr%20compliant%3F\"><h3>Is the plugin GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. DonateOcean integrates with the WordPress core privacy tools for personal data export and erasure requests. You can also configure automatic data retention to erase donor personally identifiable information after a set number of months.<\/p><\/dd>\n<dt id=\"can%20donors%20manage%20their%20own%20subscriptions%3F\"><h3>Can donors manage their own subscriptions?<\/h3><\/dt>\n<dd><p>Yes. Place the <code>[donadosu_donor_portal]<\/code> shortcode on any page to create a self-service subscription management portal. Donors enter their email, receive a secure magic link valid for 30 minutes, and can view or cancel their active subscriptions.<\/p><\/dd>\n<dt id=\"is%20donor%20data%20secure%3F\"><h3>Is donor data secure?<\/h3><\/dt>\n<dd><p>Donor information is stored as WordPress post meta and is protected by WordPress's built-in security model. The plugin uses PayPal webhook signature verification, nonce verification for all authenticated requests, and capability checks for all admin operations.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved - Donation block. <\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"PayPal donation plugin for nonprofits. Recurring giving, tax receipts, fundraising goals, and donor management built in.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=302486"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/easypayment"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302486"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302486"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302486"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302486"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302486"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}