Description
GiftFlow is a powerful WordPress plugin designed to help organizations manage donations, donors, and fundraising campaigns efficiently. Built with modern WordPress standards and an extensible architecture, GiftFlow provides everything you need to accept donations, track campaigns, and manage donor relationships.
Key Features
-
Donation Management
- Custom post types for donations, donors, and campaigns
- Comprehensive donor profiles with contact information
- Donation history tracking
- Transaction details and status management
- Support for one-time and recurring donations
-
Payment Processing
- Multiple payment gateway support (Stripe, PayPal)
- Secure payment processing with PCI compliance
- Direct bank transfer option
- Real-time payment status updates
- Webhook integration for payment notifications
-
Campaign Management
- Create and manage unlimited donation campaigns
- Set campaign goals and track progress in real-time
- Campaign-specific donation forms
- Campaign analytics and reporting
- Visual progress indicators
-
Form Builder
- coming soon
-
Reporting & Analytics
- Admin dashboard with statistics
- Export functionality
-
Gutenberg Blocks
- Campaign display blocks
- Donation form blocks
- Campaign content blocks
- Full block editor support
Payment Gateways
GiftFlow supports multiple payment gateways through official SDKs:
- Stripe – Direct integration using Stripe PHP SDK for secure credit/debit card processing
- PayPal – Direct integration using PayPal JS SDK v6 and REST API v2 with Smart Buttons for seamless payment experience
- Direct Bank Transfer – Manual payment option for bank transfers
Additional payment gateways can be added through the plugin’s extensible gateway architecture.
Development
This plugin uses Laravel Mix (a wrapper around Webpack) to compile and bundle JavaScript and CSS files for production.
Source Code
The original source code for all compiled JavaScript and CSS files can be found at:
https://github.com/miketropi/giftflow
File Structure
In the assets/js/ directory, the plugin follows this naming convention:
*.js– Original, uncompiled source files (human-readable)*.bundle.js– Compiled/minified production files (generated by build process)
For example:
forms.jsSource fileforms.bundle.jsCompiled production file
The same pattern applies to all JavaScript files:
common.js/common.bundle.jsstripe-donation.js/stripe-donation.bundle.jspaypal-donation.js/paypal-donation.bundle.jsgrecaptcha.js/grecaptcha.bundle.js
Only the *.bundle.js files are enqueued in production. The source *.js files are included in the repository for transparency and to comply with WordPress.org guidelines requiring human-readable source code.
Build Commands
To rebuild assets locally:
npm install - Install dependencies
npm run dev - Watch for changes and rebuild automatically during development
npm run build - Build for production (minified)<h3>External Services</h3>
This plugin relies on the following third-party services to provide its functionality. These services are only used when explicitly enabled by the site administrator. By using these features, data may be transmitted to external servers. Please review the terms and privacy policies of each service before enabling them.
Stripe (stripe.com)
This plugin uses the Stripe payment gateway to process credit and debit card donations securely.
Service Provider: Stripe, Inc.
Service URL: https://stripe.com
Data Transmitted:
- Payment card information (processed directly by Stripe, not stored on your server)
- Donation amount and currency
- Donor name and email address
- Billing address (if collected)
- Transaction metadata (donation ID, campaign ID)
When Data is Sent:
- When a donor submits a donation form using Stripe as the payment method
- When processing refunds through the admin dashboard
- When verifying webhook signatures for payment status updates
Legal:
- Terms of Service: https://stripe.com/legal
- Privacy Policy: https://stripe.com/privacy
PayPal (paypal.com)
This plugin uses PayPal to process donations through PayPal accounts and PayPal Smart Payment Buttons. The plugin communicates with PayPal’s REST API using the following base URLs:
- Production: https://api.paypal.com
- Sandbox (testing): https://api.sandbox.paypal.com
Service Provider: PayPal Holdings, Inc.
Service URL: https://www.paypal.com
Data Transmitted:
- Donation amount and currency
- Donor name and email address
- Order description and transaction metadata
- Return URLs for payment completion
When Data is Sent:
- When a donor initiates a donation using PayPal as the payment method
- When creating and capturing PayPal orders via the REST API
- When processing refunds through the admin dashboard
Legal:
- Terms of Service: https://www.paypal.com/webapps/mpp/ua/useragreement-full
- Privacy Policy: https://www.paypal.com/webapps/mpp/ua/privacy-full
Google reCAPTCHA (google.com/recaptcha)
This plugin optionally uses Google reCAPTCHA to protect donation forms from spam submissions and automated abuse.
Service Provider: Google LLC
Service URL: https://www.google.com/recaptcha
Data Transmitted:
- User’s IP address
- Browser user agent and plugins
- Mouse movements and keystrokes on the page
- JavaScript environment information
- reCAPTCHA site key
When Data is Sent:
- When a donation form with reCAPTCHA protection is loaded
- When a donor interacts with or submits a protected donation form
Legal:
- Terms of Service: https://policies.google.com/terms
- Privacy Policy: https://policies.google.com/privacy
Social sharing (Share block)
The GiftFlow Share block allows visitors to share campaign or page content to social networks. When share buttons are used, the browser may open or redirect to the following third-party URLs. No data is sent from your server to these services; the user’s browser loads the share URL with the page title and URL that the user chooses to share.
Services and URLs used:
- Facebook – https://www.facebook.com/sharer/sharer.php (with
u= shared URL) - X (Twitter) – https://twitter.com/intent/tweet (with
urlandtext) - LinkedIn – https://www.linkedin.com/sharing/share-offsite/ (with
url) - WhatsApp – https://api.whatsapp.com/send (with
textcontaining title and URL) - Pinterest – https://pinterest.com/pin/create/button/ (with
urlanddescription) - Reddit – https://reddit.com/submit (with
urlandtitle) - Telegram – https://t.me/share/url (with
urlandtext)
Data transmitted: Only the page URL and title (or description) that the user is sharing, passed as query parameters in the share link. No data is sent to these services until the user clicks a share button.
When data is sent: When a visitor clicks a social share button in the Share block.
Legal (WhatsApp):
This plugin includes a sharing feature that allows users to share content via WhatsApp.
When the user clicks the WhatsApp share button, the plugin opens the WhatsApp sharing URL and sends the following data:
– The page title
– The page URL
This request is sent only when the user actively clicks the share button.
This service is provided by WhatsApp.
- Terms of Service: https://www.whatsapp.com/legal/terms-of-service
- Privacy Policy: https://www.whatsapp.com/legal/privacy-policy
Google Maps Platform (developers.google.com/maps)
This plugin optionally uses Google Maps to display campaign locations and geographic information.
Service Provider: Google LLC
Service URL: https://developers.google.com/maps
Data Transmitted:
- Map coordinates and location queries
- User’s IP address (by Google when loading map tiles)
- Google Maps API key
When Data is Sent:
- When a page containing a Google Maps embed is loaded
- When geocoding addresses for campaign locations
Legal:
- Terms of Service: https://cloud.google.com/maps-platform/terms
- Privacy Policy: https://policies.google.com/privacy
Important Privacy Notice
Site administrators are responsible for ensuring compliance with applicable privacy laws (such as GDPR) when using these third-party services. We recommend:
- Disclosing the use of these services in your site’s privacy policy
- Obtaining appropriate consent from users before processing their data
- Reviewing each service’s data processing agreements
Screenshots

Admin Dashboard – Overview of donations, campaigns, and statistics 
Campaign Management – Create and manage fundraising campaigns 
Donation Form – Customizable donation forms with multiple payment options 
Payment Settings – Configure Stripe, PayPal, and other payment gateways 
Donor Management – Comprehensive donor profiles and donation history 
Reports & Analytics – Track donations and campaign performance 




Blocks
This plugin provides 6 blocks.
- Campaign Single Content
- Campaign Status Bar
- Donor Account
- Share
- Campaign Single Images
- Donation Button
Installation
Installation from WordPress Admin
- Visit Plugins > Add New
- Search for GiftFlow
- Click Install Now and then Activate
Manual Installation
- Upload the
giftflowfolder to the/wp-content/plugins/directory - Activate the plugin through the Plugins menu in WordPress
- Navigate to GiftFlow > Settings to configure the plugin
After Installation
- Go to GiftFlow > Settings to configure your payment gateways
- Set up Stripe or PayPal credentials in the Payment Methods section
- Configure your preferred currency and email settings
- Create your first campaign under Campaigns > Add New
FAQ
-
Does GiftFlow support recurring donations?
-
Yes, GiftFlow supports both one-time and recurring (coming soon) donations through Stripe and PayPal.
-
Which payment gateways are supported?
-
GiftFlow currently supports Stripe, PayPal, and Direct Bank Transfer. Additional payment gateways can be added through the extensible gateway system.
-
Can I customize the donation form?
-
Yes, form customization is possible via hooks and custom fields, but currently requires developer implementation. We plan to release a visual form builder for custom fields in a future update.
-
Is GiftFlow compatible with page builders?
-
Yes, GiftFlow includes Gutenberg blocks and shortcodes that work with most page builders.
-
Can I export donation data?
-
Yes, GiftFlow includes export functionality in the admin dashboard to export donation data in various formats.
-
Does GiftFlow send email notifications?
-
Yes, GiftFlow can send email notifications for donations, campaign updates, and other events. Email templates can be customized.
-
What are the system requirements?
-
GiftFlow requires WordPress 6.0 or higher, PHP 8.2 or higher, and an SSL certificate for secure payment processing.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“GiftFlow” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “GiftFlow” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.9
- Release: Finalize/stabilize release for development and production sites.
- Docs: Added developer-focused release documentation.
- Update: Overhauled and updated content on the admin help page for better clarity and onboarding.
- Improvement: Minor performance, translation, and code quality refinements.
1.0.8
- Update: Refined and upgraded the payment gateway package for smoother transactions.
- Fix: Enhanced modal donation experience for better user flow and responsiveness.
- Improvement: Further improved UI/UX on tablet & mobile, ensuring consistent and intuitive interactions.
- Security: Addressed additional backend vulnerabilities for stronger protection.
- Docs: Updated and extended documentation to reflect new changes and usage recommendations.
1.0.7
- Update: Improved UI designs and fixed several minor bugs in the admin backend.
- Fix: Resolved an issue causing modal donation to not behave properly under certain conditions.
- Improvement: Adjusted tablet/mobile layouts for campaign and donation forms for greater accessibility.
- Security: Patched an issue related to data sanitization and access control in admin screens.
- Docs: Added detailed setup and usage instructions for new features.
1.0.6
- Update: Upgraded payment gateway libraries to latest stable releases.
- Improvement: Optimized modal donation speed; donations now process with less delay.
- Improvement: Enhanced mobile navigation menus and fixed UI glitches on iOS devices.
- Fix: Prevented unauthorized data exposure by strengthening security checks in backend logic.
- Docs: Clarified payment setup and mobile customization steps in documentation.
1.0.5
- Update: Refactored gateway integration package for better reliability.
- Improvement: Polished modal donation interface for improved clarity and conversion rates.
- Improvement: Improved responsive design for donor listing and campaign edit screens.
- Fix: Hardened code to resolve vulnerabilities uncovered in plugin audits.
- Docs: Cleaned up outdated tips and added FAQ section.
1.0.4
- Update: Added support for custom payment gateway extensions.
- Improvement: Slight modal donation improvements (rendering and error handling).
- Improvement: Initial major UI update for tablet and mobile screens.
- Security: Fixed several XSS and CSRF vulnerabilities in admin area.
- Docs: Documented new UI changes and gateway extension methods.
1.0.3
- Added support for Classic (non-block) WordPress themes
- Fixed several security issues for improved safety and compliance
1.0.2
- Upgraded payment gateway integration for improved reliability
- Added support for common shortcodes (for embedding donation forms and campaign features)
1.0.1
- Initial public release
- Core donation management features
- Stripe and PayPal payment gateway integration
- Campaign management system
- Gutenberg blocks support
- Admin dashboard with statistics
- Export functionality
- Email notification system
- Custom post types and taxonomies
- Comprehensive hooks and filters for extensibility
