GiftFlow
GiftFlow
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
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
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





Faq
Yes, GiftFlow supports both one-time and recurring (coming soon) donations through Stripe and PayPal.
GiftFlow currently supports Stripe, PayPal, and Direct Bank Transfer. Additional payment gateways can be added through the extensible gateway system.
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.
Yes, GiftFlow includes Gutenberg blocks and shortcodes that work with most page builders.
Yes, GiftFlow includes export functionality in the admin dashboard to export donation data in various formats.
Yes, GiftFlow can send email notifications for donations, campaign updates, and other events. Email templates can be customized.
GiftFlow requires WordPress 6.0 or higher, PHP 8.2 or higher, and an SSL certificate for secure payment processing.
Reviews
Changelog
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