{"id":317251,"date":"2026-06-06T04:38:47","date_gmt":"2026-06-06T04:38:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aths-donations-progress-bar\/"},"modified":"2026-06-06T04:38:20","modified_gmt":"2026-06-06T04:38:20","slug":"aths-donations-progress-bar","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/aths-donations-progress-bar\/","author":15321264,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.43","stable_tag":"1.0.43","tested":"7.0","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Aths Donations Progress Bar","header_author":"Athlios","header_description":"Display PayPal donations as a masked donor list with a configurable fundraising progress bar and donation button.","assets_banners_color":"0d1018","last_updated":"2026-06-06 04:38:20","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/gordian-knot.eu","header_plugin_uri":"","header_author_uri":"https:\/\/a-wd.eu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":22,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.43":{"tag":"1.0.43","author":"athlios","date":"2026-06-06 04:38:20"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3562906,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3562906,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3562906,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3562906,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.43"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3562906,"resolution":"1","location":"assets","locale":"","width":457,"height":637},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3562906,"resolution":"2","location":"assets","locale":"","width":1120,"height":1479},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3562906,"resolution":"3","location":"assets","locale":"","width":1118,"height":2315}},"screenshots":[]},"plugin_section":[],"plugin_tags":[5800,5801,334,9351,80],"plugin_category":[43,45],"plugin_contributors":[260095],"plugin_business_model":[],"class_list":["post-317251","plugin","type-plugin","status-publish","hentry","plugin_tags-donations","plugin_tags-fundraising","plugin_tags-paypal","plugin_tags-progress-bar","plugin_tags-shortcode","plugin_category-customization","plugin_category-ecommerce","plugin_contributors-athlios","plugin_committers-athlios"],"banners":{"banner":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/banner-772x250.png?rev=3562906","banner_2x":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/banner-1544x500.png?rev=3562906","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/icon-128x128.png?rev=3562906","icon_2x":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/icon-256x256.png?rev=3562906","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/screenshot-1.png?rev=3562906","caption":""},{"src":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/screenshot-2.png?rev=3562906","caption":""},{"src":"https:\/\/ps.w.org\/aths-donations-progress-bar\/assets\/screenshot-3.png?rev=3562906","caption":""}],"raw_content":"<!--section=description-->\n<p>Aths Donations Progress Bar is created by Athlios. It connects to a PayPal REST app, syncs recent account transactions through PayPal Transaction Search, and displays a fundraising progress bar with a newest-first donor list.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>PayPal sandbox\/live connection settings.<\/li>\n<li>Daily sync plus manual sync from the settings screen.<\/li>\n<li>Donor list sorted from newest to oldest.<\/li>\n<li>Optional donor name masking with a configurable number of visible characters.<\/li>\n<li>Configurable fundraising target and currency.<\/li>\n<li>Configurable initial amount for donations received before installing the plugin.<\/li>\n<li>Configurable filled progress bar color.<\/li>\n<li>Optional text color, background color, and font size controls for the public display.<\/li>\n<li>Optional curated font-family dropdown with theme default, browser-safe fonts, and selected Google Fonts.<\/li>\n<li>Optional custom message under the progress bar and thank-you message under the donations list.<\/li>\n<li>Left, center, or right alignment controls for custom text and thank-you text.<\/li>\n<li>Optional PayPal donation button using a hosted button ID or business email.<\/li>\n<li>Simple PayPal donation link option for PayPal.me or PayPal Donate URLs.<\/li>\n<li>Automatic currency conversion into the selected display currency during sync.<\/li>\n<li>Sync period options for a full calendar year or a rolling number of days.<\/li>\n<li>Shortcodes for combined display and button-only display.<\/li>\n<li>Legacy WordPress widget for widget areas and widget-based sidebars.<\/li>\n<\/ul>\n\n<p>PayPal note: the PayPal REST app must have Transaction Search enabled. PayPal may take several hours to make new transactions available through that API.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<pre><code>[aths_donations] displays the progress bar, donation button, and donor list.\n\n[aths_donations show_button=\"0\"] hides the donation button.\n\n[aths_donations show_list=\"0\"] hides the donor list.\n\n[aths_donations limit=\"10\"] changes the number of donors shown.\n\n[aths_donation_button] displays only the donation button.&lt;h3&gt;Widget&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>The plugin adds an Aths Donations Progress Bar widget for widget areas and widget-based sidebars. The widget can show or hide the progress bar, Donate button, and supporter list, limit the number of supporters shown, and set padding around the widget content.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external services only when the site owner configures features that require them.<\/p>\n\n<p>PayPal is used to connect to the site owner's PayPal REST app, request an OAuth access token, search account transactions through Transaction Search, and send visitors to PayPal when they click a configured Donate button. The plugin sends the configured PayPal Client ID and Secret to PayPal for authentication, sends the selected sync date range and optional transaction event-code filter to PayPal Transaction Search, and receives transaction data such as transaction ID, payer name, amount, currency, date, status, and item note. The public Donate button may also load a PayPal-hosted button mark image from paypalobjects.com.<\/p>\n\n<p>PayPal Developer Agreement: https:\/\/www.paypal.com\/us\/legalhub\/paypal\/xdeveloper-full\nPayPal Privacy Statement: https:\/\/www.paypal.com\/privacy<\/p>\n\n<p>Frankfurter is used for exchange-rate lookup when synced PayPal donations use a different currency from the selected display currency. The plugin sends currency codes such as EUR and USD to Frankfurter only when donations are synced and currency conversion is needed. It does not send donor names, transaction IDs, PayPal credentials, donation notes, or site visitor data to Frankfurter.<\/p>\n\n<p>This service is provided by Frankfurter \/ lineofflight. The public API is documented at https:\/\/frankfurter.dev\/. Frankfurter states in its FAQ that the API itself does not collect personal data, but the public app runs behind Cloudflare for performance and Cloudflare may collect basic analytics\/performance information. Frankfurter is open source under the MIT license.<\/p>\n\n<p>Frankfurter API documentation and privacy information: https:\/\/frankfurter.dev\/\nFrankfurter license \/ terms: https:\/\/github.com\/lineofflight\/frankfurter\/blob\/main\/LICENSE\nCloudflare Privacy Policy: https:\/\/www.cloudflare.com\/privacypolicy\/\nCloudflare Website and Online Services Terms: https:\/\/www.cloudflare.com\/website-terms\/<\/p>\n\n<p>Google Fonts is used only when the site owner chooses one of the Google Font presets in Visual Settings. In that case, the public page loads the selected font stylesheet from Google Fonts. If Theme default or a browser-safe font is selected, Google Fonts is not loaded by this plugin.<\/p>\n\n<p>Google Fonts privacy information: https:\/\/developers.google.com\/fonts\/faq\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the WordPress Plugins screen.<\/li>\n<li>Go to Settings &gt; Aths Donations.<\/li>\n<li>Open PayPal Developer, sign in with the PayPal account that receives donations, and create a REST app from Apps &amp; Credentials.<\/li>\n<li>Enable Transaction Search for the same REST app. PayPal may take up to 9 hours before the permission works.<\/li>\n<li>Copy the app Client ID and Secret into the plugin settings. Use Sandbox credentials with Sandbox mode and Live credentials with Live mode.<\/li>\n<li>Set the currency, fundraising target, privacy options, and donation button details.<\/li>\n<li>Save, run a manual sync, then add <code>[aths_donations]<\/code> to a page, post, or Shortcode block.<\/li>\n<li>Alternatively, add the Aths Donations Progress Bar widget from Appearance &gt; Widgets.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20this%20connect%20to%20any%20paypal%20account%3F\"><h3>Can this connect to any PayPal account?<\/h3><\/dt>\n<dd><p>It can connect to a PayPal account when the site owner has REST app credentials for that account and Transaction Search is enabled for the app.<\/p><\/dd>\n<dt id=\"why%20do%20recent%20donations%20not%20appear%20immediately%3F\"><h3>Why do recent donations not appear immediately?<\/h3><\/dt>\n<dd><p>PayPal states that executed transactions can take up to several hours to appear in Transaction Search.<\/p><\/dd>\n<dt id=\"how%20are%20donor%20names%20masked%3F\"><h3>How are donor names masked?<\/h3><\/dt>\n<dd><p>When masking is enabled, each name part keeps the configured number of leading characters and replaces the rest with asterisks.<\/p><\/dd>\n<dt id=\"where%20are%20paypal%20credentials%20stored%3F\"><h3>Where are PayPal credentials stored?<\/h3><\/dt>\n<dd><p>The PayPal Client ID and Secret are stored in the WordPress options table for this site. The secret is only used server-side to request a PayPal API access token.<\/p><\/dd>\n<dt id=\"what%20donor%20data%20is%20stored%3F\"><h3>What donor data is stored?<\/h3><\/dt>\n<dd><p>The plugin stores synced transaction ID, donor name, date, amount, currency, and item note data returned by PayPal. Public output can mask donor names and can hide amounts or dates.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.43<\/h4>\n\n<ul>\n<li>Expanded the Frankfurter external-service disclosure with clearer data, privacy, and terms links for WordPress.org review.<\/li>\n<\/ul>\n\n<h4>1.0.42<\/h4>\n\n<ul>\n<li>Normalized the main plugin file line endings for Plugin Check readiness.<\/li>\n<\/ul>\n\n<h4>1.0.41<\/h4>\n\n<ul>\n<li>Updated the WordPress.org Tested up to metadata to 7.0 for Plugin Check readiness.<\/li>\n<\/ul>\n\n<h4>1.0.40<\/h4>\n\n<ul>\n<li>Removed unverified repository links from plugin metadata and readme before WordPress.org submission.<\/li>\n<\/ul>\n\n<h4>1.0.39<\/h4>\n\n<ul>\n<li>Removed the public container background and box shadow from the donation display.<\/li>\n<\/ul>\n\n<h4>1.0.38<\/h4>\n\n<ul>\n<li>Resolved Plugin Check findings for translation loading, sync notice nonce handling, widget renderer output, and Google Fonts asset versioning.<\/li>\n<\/ul>\n\n<h4>1.0.37<\/h4>\n\n<ul>\n<li>Standardized WordPress.org review metadata and added external-service disclosures for PayPal, Frankfurter, and Google Fonts.<\/li>\n<\/ul>\n\n<h4>1.0.36<\/h4>\n\n<ul>\n<li>Added a widget container padding option so widget output can match padded text-widget layouts.<\/li>\n<\/ul>\n\n<h4>1.0.35<\/h4>\n\n<ul>\n<li>Added a WordPress widget for placing the donation display in widget areas without using a shortcode.<\/li>\n<\/ul>\n\n<p>Older changes are available in <code>changelog.txt<\/code>.<\/p>","raw_excerpt":"Display PayPal donations as a masked donor list with a configurable fundraising progress bar.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317251","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=317251"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/athlios"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317251"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317251"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317251"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317251"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317251"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}