i9 Donation
A comprehensive WordPress donation plugin for charitable organizations, mosques, and nonprofits. Features configurable donation types, recurring donations, campaign management, and more.
by i9 Education · github.com/i9-education/tayyiba-institute · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/i9-education/tayyiba-institute/archive/refs/heads/main.zipA comprehensive WordPress donation plugin for charitable organizations, mosques, and nonprofits.
Description
i9 Donation is a powerful and flexible donation management system built for WordPress. It provides everything you need to accept donations, manage donors, run campaigns, and handle recurring subscriptions.
Key Features
- 🎁 Configurable Donation Types - Sadaqa, Zakat, Fidya, Kaffarah, and custom types
- 🕌 Zakah Calculator - Islamic finance compliant Zakah calculation with shortcode and Elementor widget
- 🛒 Multi-Item Cart System - Allow donors to add multiple donations before checkout
- 🔄 Recurring Donations - Weekly and monthly subscription support
- 📊 Campaign Management - Create fundraising campaigns with goal tracking
- 💳 Payment Gateways - Stripe, PayPal, Bank Transfer, and Test Gateway
- 👥 Donor Management - Complete donor profiles with donation history
- 📧 Email Notifications - Customizable email templates for all events
- 📄 PDF Receipts - Automatic receipt generation with annual summaries
- 📱 Responsive Design - Mobile-friendly forms and dashboard
- 🔌 REST API - Full API for third-party integrations
- 🧩 Page Builders - Elementor widgets included
- 🌐 Translation Ready - Full internationalization support
- 🎛️ Standalone Admin Panel - Modern React-based administration interface
Requirements
- WordPress 6.0 or higher
- PHP 8.0 or higher
- MySQL 5.7 or higher / MariaDB 10.3 or higher
- SSL certificate (required for payment processing)
Installation
From WordPress Admin
- Download the plugin ZIP file
- Go to Plugins > Add New > Upload Plugin
- Upload the ZIP file and click Install Now
- Activate the plugin
Manual Installation
- Download and extract the plugin
- Upload the
i9-donationfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
Using Composer
composer require i9/donation
Quick Start
-
Configure Settings - Navigate to i9 Donation > Settings and configure your organization details, currency, and email settings.
-
Set Up Payment Gateways - Go to i9 Donation > Settings > Payment Gateways and configure Stripe and/or PayPal with your API credentials.
-
Create Donation Types - Add your donation types (Zakat, Sadaqa, etc.) at i9 Donation > Donation Types.
-
Create a Form - Go to i9 Donation > Forms > Add New to create your first donation form.
-
Add to Page - Use the shortcode
[i9_donation_form id="123"]or Elementor widget to add the form to any page. -
Set Up Pages - Create pages for Cart, Checkout, and Donor Dashboard using the provided shortcodes.
Shortcodes
| Shortcode | Description |
|---|---|
[i9_donation_form id="X"] |
Display a donation form |
[i9_donation_cart] |
Display the donation cart |
[i9_donation_checkout] |
Display the checkout page |
[i9_donor_dashboard] |
Display the donor dashboard |
[i9_campaign id="X"] |
Display a campaign |
[i9_campaign_progress id="X"] |
Display campaign progress bar |
[i9_donation_history] |
Display donor's donation history |
[i9_zakah_calculator] |
Display the Zakah Calculator |
Zakah Calculator Shortcode
The Zakah Calculator allows users to calculate their Zakah obligation without logging in or making a payment.
Basic Usage:
[i9_zakah_calculator]
With Options:
[i9_zakah_calculator title="Calculate Your Zakah" show_description="yes" default_nisab="silver"]
Attributes:
title- Custom title for the calculator (default: "Zakah Calculator")show_description- Show/hide description text ("yes" or "no", default: "yes")default_nisab- Default Nisab threshold ("silver" or "gold", default: "silver")
Payment Gateways
Stripe
- Credit/Debit cards via Stripe Elements
- Strong Customer Authentication (SCA) support
- Recurring payments via Stripe Subscriptions
PayPal
- PayPal Smart Buttons
- PayPal Checkout
- Recurring payments via PayPal Subscriptions
Bank Transfer
- Manual bank transfer instructions
- Admin notification for pending payments
Test Gateway
- For development and testing
- Simulates successful/failed payments
REST API
The plugin provides a comprehensive REST API at /wp-json/i9-donation/v1/:
/donations- Manage donations/donors- Manage donors/campaigns- Manage campaigns/forms- Access forms/cart- Cart operations/checkout- Checkout process
See API Documentation for full details.
Standalone Admin Panel
Access the modern, React-based administration interface at yoursite.com/i9-admin/.
Features
- Dashboard - Real-time analytics and statistics
- Donations - Complete donation management with search and filters
- Donors - Comprehensive donor profiles and lifetime value tracking
- Campaigns - Campaign monitoring and progress tracking
- Subscriptions - Recurring donation management
- Reports - Advanced reporting with export capabilities
- Users - Panel user management with role-based access
- Activity Log - Full audit trail of admin actions
- Settings - Plugin configuration
User Roles
- Panel Admin (
i9_panel_admin) - Full access to all features - Panel Manager (
i9_panel_manager) - Management access, no settings - Panel Viewer (
i9_panel_viewer) - Read-only access
Hooks & Filters
Actions
// After donation is created
do_action( 'i9_donation_created', $donation_id, $data );
// After donation status changes
do_action( 'i9_donation_status_changed', $donation_id, $new_status, $old_status );
// After subscription is created
do_action( 'i9_subscription_created', $subscription_id, $data );
Filters
// Modify donation form fields
apply_filters( 'i9_donation_form_fields', $fields, $form_id );
// Modify email content
apply_filters( 'i9_email_content', $content, $template, $data );
// Modify receipt data
apply_filters( 'i9_receipt_data', $data, $donation_id );
Screenshots
- Admin Dashboard - Overview of donations, revenue, and statistics
- Donation Form - Beautiful, responsive donation forms
- Campaign Progress - Visual campaign goal tracking
- Donor Dashboard - Self-service portal for donors
- Payment Checkout - Secure payment processing
Frequently Asked Questions
Is SSL required?
Yes, SSL is required for processing payments securely.
Can I customize the email templates?
Yes, all email templates can be customized via the admin settings or by overriding template files in your theme.
Does it support recurring donations?
Yes, the plugin supports weekly and monthly recurring donations via Stripe and PayPal subscriptions.
Can donors manage their own subscriptions?
Yes, donors can view, pause, resume, or cancel their subscriptions from the donor dashboard.
Is the plugin GDPR compliant?
Yes, the plugin includes features to help with GDPR compliance including data export and deletion capabilities.
Support
- Documentation: https://i9.edu.au/docs
- Support: https://i9.edu.au/support
- GitHub Issues: https://github.com/i9softtech/i9-donation/issues
Contributing
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
License
This plugin is licensed under the GPL v2 or later.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Credits
Developed by: i9 Softtech
For: i9 Education
Made with ❤️ for the nonprofit community