
內容簡介
GiftFlow 是一款強大的 WordPress 外掛,旨在幫助組織高效管理捐款、捐贈者及募款活動。它提供了接受捐款、追蹤活動及管理捐贈者關係所需的所有功能,符合現代 WordPress 標準。
【主要功能】
• 捐款管理:自訂捐款、捐贈者及活動的文章類型
• 付款處理:支援多種付款閘道(Stripe、PayPal)
• 活動管理:創建及管理無限募款活動
• 報告與分析:提供統計數據的管理控制台
• Gutenberg 區塊:支援活動顯示及捐款表單區塊
外掛標籤
開發者團隊
② 後台搜尋「GiftFlow – Donation & Fundraising」→ 直接安裝(推薦)
原文外掛簡介
Landing Page | Live Demo
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.js → Source file
forms.bundle.js → Compiled production file
The same pattern applies to all JavaScript files:
common.js / common.bundle.js
stripe-donation.js / stripe-donation.bundle.js
paypal-donation.js / paypal-donation.bundle.js
grecaptcha.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)
External Services
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 url and text)
LinkedIn – https://www.linkedin.com/sharing/share-offsite/ (with url)
WhatsApp – https://api.whatsapp.com/send (with text containing title and URL)
Pinterest – https://pinterest.com/pin/create/button/ (with url and description)
Reddit – https://reddit.com/submit (with url and title)
Telegram – https://t.me/share/url (with url and text)
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
