{"id":357334,"date":"2026-09-23T07:35:49","date_gmt":"2026-09-23T07:35:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dono-fundraising-platform\/"},"modified":"2026-09-23T07:35:22","modified_gmt":"2026-09-23T07:35:22","slug":"gratora-donation-platform","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/gratora-donation-platform\/","author":23502157,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"7.0","requires_php":"8.1","requires_plugins":null,"header_name":"Gratora - Donation Platform","header_author":"Gratora","header_description":"Donation & Fundraising Platform for WordPress","assets_banners_color":"7c798e","last_updated":"2026-09-23 07:35:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"donodp","date":"2026-09-23 07:35:22","revision":3708735}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3708708,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3708708,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3708708,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3708708,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3708708,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3708708,"resolution":"1","location":"assets","locale":"","width":2880,"height":1800},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3708708,"resolution":"10","location":"assets","locale":"","width":2880,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3708708,"resolution":"2","location":"assets","locale":"","width":2880,"height":1800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3708708,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3708708,"resolution":"4","location":"assets","locale":"","width":2880,"height":1800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3708708,"resolution":"5","location":"assets","locale":"","width":2880,"height":1735},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3708708,"resolution":"6","location":"assets","locale":"","width":2880,"height":1800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3708708,"resolution":"7","location":"assets","locale":"","width":2880,"height":1800},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3708708,"resolution":"8","location":"assets","locale":"","width":2880,"height":1800},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3708708,"resolution":"9","location":"assets","locale":"","width":2880,"height":1735}},"screenshots":{"1":"The dashboard: what came in, where it came from, and what needs attention.","2":"Every donation, filterable by status, campaign, gateway and frequency.","3":"A donor record: lifetime giving, their whole history, receipts, consent and notes.","4":"Donor insights: lifecycle stages, segments, lifetime value and retention.","5":"Campaigns, each with its goal and progress.","6":"A campaign in detail, with its own figures and a report to download.","7":"The block-based form builder. Fields and layout are blocks, so the editor is the one you already know.","8":"Recurring plans, with monthly recurring revenue and the renewals that need attention.","9":"Funds, so a donor can choose what their donation pays for.","10":"Receipt settings: the template, your logo, and the merge tags it fills in."}},"plugin_section":[],"plugin_tags":[617,25120,5801,15130,126532],"plugin_category":[45],"plugin_contributors":[282224],"plugin_business_model":[],"class_list":["post-357334","plugin","type-plugin","status-publish","hentry","plugin_tags-donation","plugin_tags-donation-form","plugin_tags-fundraising","plugin_tags-nonprofit","plugin_tags-recurring-donations","plugin_category-ecommerce","plugin_contributors-donodp","plugin_committers-donodp"],"banners":{"banner":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/banner-772x250.png?rev=3708708","banner_2x":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/banner-1544x500.png?rev=3708708","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/icon.svg?rev=3708708","icon":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/icon.svg?rev=3708708","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-1.png?rev=3708708","caption":"The dashboard: what came in, where it came from, and what needs attention."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-2.png?rev=3708708","caption":"Every donation, filterable by status, campaign, gateway and frequency."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-3.png?rev=3708708","caption":"A donor record: lifetime giving, their whole history, receipts, consent and notes."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-4.png?rev=3708708","caption":"Donor insights: lifecycle stages, segments, lifetime value and retention."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-5.png?rev=3708708","caption":"Campaigns, each with its goal and progress."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-6.png?rev=3708708","caption":"A campaign in detail, with its own figures and a report to download."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-7.png?rev=3708708","caption":"The block-based form builder. Fields and layout are blocks, so the editor is the one you already know."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-8.png?rev=3708708","caption":"Recurring plans, with monthly recurring revenue and the renewals that need attention."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-9.png?rev=3708708","caption":"Funds, so a donor can choose what their donation pays for."},{"src":"https:\/\/ps.w.org\/gratora-donation-platform\/assets\/screenshot-10.png?rev=3708708","caption":"Receipt settings: the template, your logo, and the merge tags it fills in."}],"raw_content":"<!--section=description-->\n<p>Gratora is a donation and fundraising platform for WordPress. Not a form plugin\nyou then extend, and not a starting point you pay to finish. The donation form,\nthe campaign page around it, the recurring plans, the donor record, the receipt\nand the report are all here, in one plugin, on day one.<\/p>\n\n<h4>Donation forms built in the WordPress editor<\/h4>\n\n<p>Fields and layout are blocks, so the editor is the one you already know. No page\nbuilder and no separate form plugin.<\/p>\n\n<ul>\n<li>Suggested amounts with captions, a custom amount, and a minimum you set<\/li>\n<li>Everything on one screen, or split into steps<\/li>\n<li>Cover the fees, recurring toggle, fund picker and currency switcher<\/li>\n<li>Name, email, phone, address, country and a message of support<\/li>\n<li>Your own custom fields: text, number, dropdown, radio, checkbox, multi-select, date<\/li>\n<li>Show a field only when it applies, based on the amount, the frequency or\nanother answer on the form<\/li>\n<li>Anonymous giving, consent checkboxes and a privacy notice<\/li>\n<\/ul>\n\n<h4>Recurring donations<\/h4>\n\n<ul>\n<li>Weekly, every two weeks, monthly, quarterly or yearly, and you pick which of\nthose each form offers<\/li>\n<li>Donors change or cancel their own plan<\/li>\n<\/ul>\n\n<h4>Campaigns and funds<\/h4>\n\n<ul>\n<li>Gratora builds the campaign page for you, donation form included<\/li>\n<li>Goals by amount raised, by number of donations or by number of donors, with an\noptional end date<\/li>\n<li>Progress bars, recent donations, top donors and a supporter wall<\/li>\n<li>Funds let donors choose what their donation pays for.<\/li>\n<\/ul>\n\n<h4>Donor management and a donor portal<\/h4>\n\n<ul>\n<li>Lifetime totals, every donation, receipts, consent and private staff notes<\/li>\n<li>Donors sign in with an email link, so there is no password to forget<\/li>\n<li>Lifecycle stages, segments, lifetime value and retention, worked out for you<\/li>\n<li>Export donors to CSV<\/li>\n<\/ul>\n\n<h4>Receipts and reports<\/h4>\n\n<ul>\n<li>Receipts emailed automatically, plus branded PDF receipts and year-end\nstatements donors can download themselves<\/li>\n<li>Sequential reference numbers with your own prefix and padding<\/li>\n<li>Revenue, donation and donor figures over any period, per campaign or overall<\/li>\n<li>A campaign report as a one-page PDF, and revenue as CSV<\/li>\n<\/ul>\n\n<h4>Payments<\/h4>\n\n<p>Take payments with your own Stripe or PayPal account, so the money goes straight\nto you. Additional fees may apply from your payment provider. Cash, check and\nbank transfer are recorded next to online donations, full and partial refunds are\nsupported, and test mode is kept out of your reporting.<\/p>\n\n<p>Public donation endpoints are rate limited, so a run of automated card attempts\ndoes not turn into a run of donation records.<\/p>\n\n<h4>More than one currency<\/h4>\n\n<p>Accept the currencies you choose, show donors a currency switcher on the form.<\/p>\n\n<h4>Ask donors to cover the processing fee<\/h4>\n\n<p>Add one block to your donation form and donors are offered the chance to add the\npayment processing fee on top of their donation, so the fee comes out of the\npayment rather than out of the donation. You set the percentage and the fixed\namount, and you decide whether it starts ticked.<\/p>\n\n<h4>Made to look like your site<\/h4>\n\n<p>Style presets you set once and reuse across every campaign and form, with a\ncontrast check so text stays readable. Gratora is translation ready and ships a\n.pot file.<\/p>\n\n<h4>Your donor data stays yours<\/h4>\n\n<p>Email, phone, address and tax ID are encrypted at rest. Consent is recorded per\ndonation, IP anonymization is on by default, and you can erase or anonymize a\ndonor on request. Gratora gives you the tools; compliance depends on how you use\nthem.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Nothing here is contacted until you configure the feature that needs it. A fresh\ninstall talks to no one. Every request this site's server sends to one of these\nservices carries the site address and WordPress version, which WordPress puts in\nthe user agent of every outbound request.<\/p>\n\n<p><strong>Stripe<\/strong> (api.stripe.com, plus js.stripe.com in the donor's browser)\nOnly with Stripe connected. Saving your keys checks them with Stripe and\nregisters this site's webhook address on your Stripe account, so Stripe can send\npayment updates back here. A donation sends the amount, currency, the donation\nreference and Gratora's ids for the donation, donor, form and campaign. The\ndonor's name and email are filled in on Stripe's payment form in their browser,\nand a recurring donation also sends them to create a Stripe customer, along with\nyour site name on the recurring product. Stripe is contacted again when you\nrefund a donation (with any note you add), when you retry a failed renewal or a\nrecurring setup, when you or a donor change, pause, resume or cancel a plan,\nwhen a donor replaces their card, when a paused plan's resume date arrives, when\nyou register this domain for Apple Pay, when a payment update from Stripe needs\ndetails looked up, and to cancel an unfinished payment that was declined\nrepeatedly or that you trash or delete. Registering for Apple Pay also has this\nsite serve the domain association file that Apple checks. Depending on what you\nenable in your Stripe account, Stripe's payment form can offer wallets such as\nApple Pay, Google Pay and Link, or send the donor to their bank to approve the\npayment. Card details go straight to Stripe and never reach this site. Their\nscript must be loaded from their domain to keep your site out of PCI scope.\nTerms: https:\/\/stripe.com\/legal\/ssa | Privacy: https:\/\/stripe.com\/privacy<\/p>\n\n<p><strong>PayPal<\/strong> (api-m.paypal.com, api-m.sandbox.paypal.com, plus www.paypal.com in\nthe donor's browser)\nOnly with PayPal connected. Saving your credentials exchanges them with PayPal\nfor an access token and checks the webhook id you enter. A donation sends the\namount, currency and donation reference; a recurring donation also creates a\nplan named after its amount and how often it renews. Gratora does not send the\ndonor's name or email: the donor approves the payment on PayPal, and PayPal\nsends back the payer's email address with the payment. PayPal is contacted again\nwhen you refund a donation (any note you add is shown to the donor), when you or\na donor change, pause, resume or cancel a plan (with the cancellation reason),\nwhen a donor changes how they pay, when a paused plan's resume date arrives, to\nverify each payment update PayPal sends this site and look up what it refers to,\nand to check on PayPal payments that have not settled, about once an hour and\nbefore you trash or delete one. The sandbox host is used in test mode. Their\ncheckout script carries your PayPal client id and the donation currency.\nTerms: https:\/\/www.paypal.com\/legalhub\/useragreement-full | Privacy: https:\/\/www.paypal.com\/legalhub\/privacy-full<\/p>\n\n<p><strong>Frankfurter<\/strong> (api.frankfurter.app, which redirects to api.frankfurter.dev, so\nallowlist both)\nRequests European Central Bank rates once a day, but only while \"Update rates\nautomatically every day\" is on and this site has money in a currency other than\nyour own: a currency you accept, a donation already recorded without a rate, or\na live recurring plan that will renew in one. Also requests them whenever you\npress \"Fetch rates now\" on Fundraising &gt; Settings &gt; Currency. Sends your base\ncurrency's three-letter code. The service is served through Cloudflare, which\nsees the request in transit. Frankfurter publishes no separate terms or privacy\npolicy; its FAQ covers commercial use and what it logs.\nTerms and privacy: https:\/\/frankfurter.dev\/#faq<\/p>\n\n<p><strong>Gravatar<\/strong> (secure.gravatar.com, in the browser of whoever views the page)\nOnly when you turn on \"Show Gravatar profile pictures\" on\nFundraising &gt; Settings &gt; Privacy. Donor lists in the campaign blocks (recent\ndonations, top donors, supporter wall) and on your admin donor screens then show\neach donor's Gravatar, unless the donor uploaded a picture of their own. Each\npicture is requested by the viewer's browser, which sends Gravatar a SHA-256\nhash of the donor's email address and the viewer's IP address. On public pages,\nanonymous donations and donors you have hidden never get one.\nTerms: https:\/\/wordpress.com\/tos\/ | Privacy: https:\/\/automattic.com\/privacy\/<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The JavaScript and CSS in <code>build\/<\/code> are compiled. The sources they are built\nfrom, and the tooling that builds them, are in the public repository:<\/p>\n\n<p>https:\/\/github.com\/gratorawp\/gratora<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install Gratora from Plugins &gt; Add New, or upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> and activate it.<\/li>\n<li>Open <strong>Fundraising<\/strong> in the admin menu and follow the short onboarding.<\/li>\n<li>Under <strong>Fundraising &gt; Settings<\/strong>, add your payment provider keys, or enable offline donations.<\/li>\n<li>Create a campaign, then add a donation form to any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20gratora%20take%20a%20cut%20of%20donations%3F\"><h3>Does Gratora take a cut of donations?<\/h3><\/dt>\n<dd><p>No. You connect your own Stripe or PayPal account and donations settle straight\ninto it. Additional fees may apply from your payment provider.<\/p><\/dd>\n<dt id=\"can%20donors%20pay%20the%20processing%20fee%20for%20me%3F\"><h3>Can donors pay the processing fee for me?<\/h3><\/dt>\n<dd><p>Yes. Add the \"Cover the fees\" block to a donation form, set the percentage and\nthe fixed amount, and choose whether it starts ticked.<\/p><\/dd>\n<dt id=\"can%20i%20change%20how%20a%20campaign%20page%20looks%3F\"><h3>Can I change how a campaign page looks?<\/h3><\/dt>\n<dd><p>All of it. A campaign page is an ordinary WordPress page, so you can move,\nrestyle or remove anything on it.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20page%20builder%20or%20a%20separate%20form%20plugin%3F\"><h3>Do I need a page builder or a separate form plugin?<\/h3><\/dt>\n<dd><p>No. Campaign pages and donation forms are built from blocks in the WordPress\neditor.<\/p><\/dd>\n<dt id=\"can%20i%20bring%20donations%20in%20from%20somewhere%20else%3F\"><h3>Can I bring donations in from somewhere else?<\/h3><\/dt>\n<dd><p>Yes. Import a CSV of donors, or donors and donations together, mapping your\ncolumns to Gratora fields.<\/p><\/dd>\n<dt id=\"can%20i%20try%20it%20without%20taking%20real%20money%3F\"><h3>Can I try it without taking real money?<\/h3><\/dt>\n<dd><p>Yes. Turn on test mode, run donations through your provider's sandbox, and none\nof it reaches your reporting.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Donation forms, recurring donations, campaigns, funds, PDF receipts and donor records. Donors can cover the processing fee. Everything included.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357334","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=357334"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/donodp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357334"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357334"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357334"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357334"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357334"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}