=== CharityGlow — Donations & Fundraising ===
Contributors: amdad
Tags: donation, fundraising, charity, stripe, paypal
Requires at least: 5.8
Tested up to: 6.9
Stable tag: 1.1.0
Requires PHP: 7.4
License: GPLv2
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Accept donations via Stripe, PayPal, SSLCommerz (bKash, Nagad, Rocket) & Bank Transfer with beautiful forms, campaign management, recurring donations, and donor CRM.

== Description ==

**CharityGlow** helps nonprofits collect donations easily using Stripe, PayPal, and SSLCommerz.
Create campaigns, accept one-time or recurring donations, and track donors.
Perfect for charities, mosques, NGOs, and fundraising websites in Bangladesh and worldwide.

🎁 **Free setup for the first 100 charity organizations.**
If you need help setting up donation forms, campaigns, or payment gateway integration, we're happy to help.

**CharityGlow** is designed for nonprofits, NGOs, mosques, churches, and fundraising organizations that need a simple and secure way to collect online donations.

= 🎯 Why Choose CharityGlow? =

* **Multiple Payment Gateways** - Stripe, PayPal, SSLCommerz (Bangladesh), Bank Transfer out of the box
* **Bangladesh Payment Support** - Accept donations via bKash, Nagad, Rocket, Upay, and all Bangladeshi bank cards through SSLCommerz
* **5 Beautiful Form Templates** - Classic, Inline, Minimal, Card, and Multi-step Wizard
* **Campaign Management** - Create unlimited fundraising campaigns with goals and deadlines
* **Donor Management** - Built-in CRM to track donors, history, and lifetime value
* **Detailed Analytics** - Real-time dashboard with charts and donation reports
* **Email Notifications** - Beautiful HTML receipts and admin notifications
* **12 Powerful Shortcodes** - Display forms, campaigns, stats, and more anywhere
* **Multi-Currency Support** - Accept donations in 25+ currencies including USD, EUR, GBP, BDT, JPY
* **Recurring Donations** - Monthly, quarterly, and yearly subscription options
* **Mobile Responsive** - All forms work perfectly on any device
* **GDPR Compliant** - Data export and deletion tools included

= 💳 Payment Gateways =

* **Stripe** - Credit/Debit Cards (Visa, Mastercard, Amex, Discover) — Worldwide
* **PayPal** - PayPal account and guest checkout — Worldwide
* **SSLCommerz** 🇧🇩 - bKash, Nagad, Rocket, Upay, Visa, Mastercard, Internet Banking — Bangladesh only (BDT)
* **Offline/Bank Transfer** - Manual donations with pending approval

= 🇧🇩 SSLCommerz — Bangladesh Payment Gateway =

CharityGlow is the **first free WordPress donation plugin** to include SSLCommerz integration, making it the ideal choice for Bangladeshi charities, mosques, and NGOs.

**Supported payment methods via SSLCommerz:**
* bKash — Most popular mobile wallet in Bangladesh
* Nagad — Bangladesh Post Office digital wallet
* Rocket — Dutch-Bangla Bank mobile banking
* Upay — UCB mobile financial service
* All Bangladeshi bank cards (Visa, Mastercard, DBBL Nexus)
* Internet banking (all major Bangladeshi banks)
* AMEX cards

**Note:** SSLCommerz only supports BDT (Bangladeshi Taka) payments from Bangladesh. For international donors, use Stripe or PayPal.

= 📝 5 Donation Form Templates =

1. **Classic** - Full-featured form with all options
2. **Inline** - Compact horizontal form for sidebars
3. **Minimal** - Clean two-step form design
4. **Card** - Modern card-style layout with campaign info
5. **Wizard** - Multi-step guided donation process

= 📊 Features =

* **Stripe** official payment gateway
* **SSLCommerz** official payment gateway for Bangladesh
* **Secure** and **encrypted** payments
* **Used** by **nonprofits** and **charity organizations**
* **One-time** and **recurring donations**
* **Campaign-based** fundraising
* **Easy setup** and clean interface
* **Donation Forms** - Preset amounts, custom amounts, recurring options
* **Campaigns** - Goal tracking, progress bars, deadlines, featured images
* **Donors** - Complete donor profiles, donation history, notes, tags
* **Reports** - Daily, weekly, monthly, yearly donation reports
* **Emails** - Customizable HTML email receipts and admin alerts
* **Shortcodes** - 12 shortcodes for flexible embedding
* **Anonymous Donations** - Allow donors to give anonymously
* **Donation Comments** - Let donors leave messages with their gifts

= 🔧 Shortcodes (12 Total) =

**Donation Forms:**

`[charityglow_form]` - Display the default donation form
`[charityglow_form template="wizard"]` - Display specific template (classic, inline, minimal, card, wizard)
`[charityglow_form campaign_id="123" amounts="10,25,50,100"]` - Form with custom amounts for specific campaign

**Campaigns:**

`[charityglow_campaign id="123"]` - Display single campaign with donation form
`[charityglow_campaign slug="save-the-children"]` - Display campaign by slug
`[charityglow_campaigns limit="6" columns="3"]` - Display campaign grid
`[charityglow_campaigns featured="true" orderby="goal_amount"]` - Featured campaigns only

**Progress & Stats:**

`[charityglow_progress_bar campaign_id="123"]` - Campaign progress bar
`[charityglow_stats show="total,donors,campaigns" style="card"]` - Donation statistics
`[charityglow_stats campaign_id="123" animated="yes"]` - Campaign-specific stats

**Donors & Social Proof:**

`[charityglow_donor_wall limit="10"]` - Display recent donors
`[charityglow_donor_wall campaign_id="123"]` - Donors for specific campaign
`[charityglow_recent_donations limit="5" style="list"]` - Recent donations feed
`[charityglow_recent_donations show_amount="yes" show_time="yes"]` - With customization

**Informational:**

`[charityglow_how_it_works style="cards" columns="4"]` - How donation process works
`[charityglow_how_it_works title="Support Us" step1_icon="❤️"]` - Customized steps
`[charityglow_payment_methods style="badges"]` - Display accepted payment methods

**Utility:**

`[charityglow_donation_success]` - Success page after donation
`[charityglow_donation_failed]` - Failed donation page

= 💰 Multi-Currency Support =

CharityGlow supports 25+ currencies with proper formatting:

* USD ($), EUR (€), GBP (£), CAD, AUD, NZD
* BDT (৳) - Bangladeshi Taka (used with SSLCommerz)
* JPY (¥), KRW (₩) - Zero-decimal currencies
* INR (₹), BRL (R$), MXN, SGD, HKD
* CHF, SEK, NOK, DKK, PLN, CZK
* And many more...

= 🌍 Perfect For =

* Nonprofits & Charities
* Mosques & Islamic Organizations (Bangladesh)
* Churches & Religious Organizations
* Schools & Universities
* NGOs & Social Organizations
* Animal Welfare Organizations
* Community Foundations
* Healthcare & Medical Research
* Environmental Organizations
* Individual Fundraisers

= 🔒 Security & Compliance =

* **PCI Compliant** - Secure payment processing via Stripe/PayPal/SSLCommerz
* **GDPR Ready** - Data export and deletion tools
* **Nonce Verification** - Protected forms and AJAX requests
* **Data Sanitization** - All inputs properly sanitized
* **Secure API Calls** - SSL enforced for payment gateways

== External Services ==

This plugin connects to third-party services for payment processing. These connections are essential to process donations securely. No data is sent until a donor actively initiates a payment.

= Stripe =

This plugin uses Stripe to process credit and debit card payments. Stripe is a payment processing platform that securely handles card transactions.

**What it's used for:** Processing credit/debit card donations, managing recurring subscriptions, and handling refunds.

**What data is sent:**
* Payment amount and currency
* Card details (sent directly to Stripe via Stripe.js, never touches your server)
* Donor name and email address
* Billing address (if collected)
* Donation metadata (campaign ID, form ID, donation ID)

**When data is sent:** When a donor submits a donation form using the Stripe payment method.

**Service Provider:** Stripe, Inc.
* Website: [https://stripe.com](https://stripe.com)
* Terms of Service: [https://stripe.com/legal/ssa](https://stripe.com/legal/ssa)
* Privacy Policy: [https://stripe.com/privacy](https://stripe.com/privacy)

This plugin includes the Stripe PHP library to communicate with Stripe's API (https://api.stripe.com).

= PayPal =

This plugin uses PayPal to process donations via PayPal accounts and PayPal guest checkout.

**What it's used for:** Processing donations through PayPal, allowing donors to pay using their PayPal balance, linked bank accounts, or cards via PayPal.

**What data is sent:**
* Payment amount and currency
* Donation/order description
* Return URLs (success and cancel pages on your site)
* Donor name and email (processed by PayPal)
* Invoice/donation ID for tracking

**When data is sent:** When a donor selects PayPal as their payment method and clicks to proceed. The donor is redirected to PayPal's website (https://paypal.com) to complete the payment.

**Service Provider:** PayPal, Inc.
* Website: [https://www.paypal.com](https://www.paypal.com)
* Terms of Service: [https://www.paypal.com/webapps/mpp/ua/useragreement-full](https://www.paypal.com/webapps/mpp/ua/useragreement-full)
* Privacy Policy: [https://www.paypal.com/webapps/mpp/ua/privacy-full](https://www.paypal.com/webapps/mpp/ua/privacy-full)

This plugin connects to PayPal's API endpoints (https://api-m.paypal.com for live, https://api-m.sandbox.paypal.com for testing).

= SSLCommerz =

This plugin uses SSLCommerz to process donations via Bangladeshi payment methods including bKash, Nagad, Rocket, Upay, and Bangladeshi bank cards.

**What it's used for:** Processing donations from Bangladesh using local payment methods (mobile wallets, internet banking, and bank cards).

**What data is sent:**
* Payment amount and currency (BDT only)
* Donor name, email, and phone number
* Donation/transaction ID for tracking
* Return URLs (success, fail, and cancel pages on your site)
* Store ID and transaction reference

**When data is sent:** When a donor selects SSLCommerz as their payment method and clicks to donate. The donor is redirected to SSLCommerz's secure hosted payment page (https://securepay.sslcommerz.com) to complete the payment.

**Service Provider:** SSLCOMMERZ Limited
* Website: [https://sslcommerz.com](https://sslcommerz.com)
* Terms of Service: [https://sslcommerz.com/terms-condition/](https://sslcommerz.com/terms-condition/)
* Privacy Policy: [https://sslcommerz.com/privacy-policy/](https://sslcommerz.com/privacy-policy/)

This plugin connects to SSLCommerz API endpoints:
* Sandbox: https://sandbox.sslcommerz.com
* Live: https://securepay.sslcommerz.com

**Note:** SSLCommerz is only available for BDT (Bangladeshi Taka) transactions. It is intended for use by organizations based in Bangladesh.

== Installation ==

1. Upload the `charityglow` folder to `/wp-content/plugins/`
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to **CharityGlow → Settings** to configure payment gateways
4. Add your Stripe and/or PayPal API keys, or SSLCommerz credentials for Bangladesh
5. Create your first campaign in **CharityGlow → Campaigns**
6. Add the donation form to any page using `[charityglow_form]`

🎁 Free setup assistance is available for the first 100 charities.

= Quick Start =

1. After activation, go to **CharityGlow → Settings**
2. Enter your Stripe Test API keys (get from stripe.com/dashboard)
3. Enable "Test Mode" for testing
4. Create a test campaign with a goal amount
5. Add `[charityglow_form]` to any page
6. Make a test donation with card number: 4242 4242 4242 4242

= Quick Start for Bangladesh (SSLCommerz) =

1. After activation, go to **CharityGlow → Settings → Payment Gateways**
2. Enable SSLCommerz and enter your Store ID and Store Password
3. For sandbox testing, use Store ID: `testbox12345` and Password: `qwerty`
4. Set your currency to BDT in settings
5. Add `[charityglow_form]` to any page and test with sandbox credentials

== Frequently Asked Questions ==

= Which payment gateways are supported? =

CharityGlow supports Stripe (credit/debit cards), PayPal, SSLCommerz (Bangladesh — bKash, Nagad, Rocket, Upay, bank cards), and Offline/Bank Transfer payments out of the box.

= Does CharityGlow support bKash, Nagad, or Rocket? =

Yes! Through the SSLCommerz integration, you can accept donations via bKash, Nagad, Rocket, Upay, and all major Bangladeshi bank cards and internet banking. SSLCommerz is included free of charge.

= Is SSLCommerz free to use? =

Yes! SSLCommerz integration is included in the free version of CharityGlow. You do need to register for an SSLCommerz merchant account at sslcommerz.com and get approved before accepting live payments.

= Can I accept recurring donations? =

Yes! Donors can choose to give monthly, quarterly, or yearly recurring donations. Stripe handles the automatic billing.

= What form templates are available? =

Five beautiful templates: Classic (full-featured), Inline (compact), Minimal (two-step), Card (modern), and Wizard (multi-step guided).

= Is it mobile-friendly? =

Yes, all donation forms are fully responsive and work great on mobile devices, tablets, and desktops.

= Can I customize the donation amounts? =

Yes, you can set custom preset amounts via shortcode attributes or in the plugin settings. Example: `[charityglow_form amounts="10,25,50,100,250"]`

= Does it send email receipts? =

Yes, donors automatically receive a beautiful HTML email receipt after donating. Admins also receive notification emails.

= Is it GDPR compliant? =

Yes, CharityGlow includes GDPR compliance features including donor data export and deletion capabilities.

= Can I track donations by campaign? =

Yes, you can create unlimited campaigns and track donations, donors, and progress for each one separately.

= Does it work with my theme? =

CharityGlow is designed to work with any properly coded WordPress theme. It's tested with popular themes like Astra, GeneratePress, and OceanWP.

= Can donors give anonymously? =

Yes, there's an option for donors to make their donation anonymous. Their name will be hidden from public donor walls.

= What currencies are supported? =

25+ currencies including USD, EUR, GBP, BDT (Bangladeshi Taka), CAD, AUD, JPY, INR, and more. The plugin properly handles zero-decimal currencies like JPY.

= How do I display a campaign progress bar? =

Use the shortcode: `[charityglow_progress_bar campaign_id="123"]`

= Can I show recent donations on my site? =

Yes! Use `[charityglow_recent_donations]` or `[charityglow_donor_wall]` shortcodes to display recent donors and donations.

= What data is shared with payment providers? =

Please see the "External Services" section in this readme for detailed information about what data is shared with Stripe, PayPal, and SSLCommerz, and when.

== Screenshots ==

1. Wizard (multi-step) donation form on frontend
2. All type donation form
3. Single campaign with donation form
4. Donation success page
5. Admin dashboard with real-time statistics
6. Campaign management
7. Payment gateway settings (Stripe, PayPal, SSLCommerz)
8. Donation list
9. Reports
10. Donor management (CRM) with lifetime value

== Changelog ==

= 1.1.0 - 2026-03-11 =
* New: SSLCommerz payment gateway integration (Bangladesh) — bKash, Nagad, Rocket, Upay, bank cards, and internet banking
* New: BDT (Bangladeshi Taka) currency support
* Improvement: Payment gateway settings page now shows Bangladesh-only warning for SSLCommerz
* Improvement: Donation form shows all three payment options (Stripe, PayPal, SSLCommerz) based on admin settings

= 1.0.0 - 2026-02-02 =
* Initial release
* **Payment Gateways:** Stripe, PayPal, Razorpay, Offline/Bank Transfer
* **Form Templates:** Classic, Inline, Minimal, Card, Wizard (5 templates)
* **Campaign Management:** Unlimited campaigns with goals, deadlines, and progress tracking
* **Donor Management:** Full CRM with donor profiles, history, and lifetime value
* **12 Shortcodes:** Forms, campaigns, stats, donor walls, progress bars, and more
* **Email System:** Beautiful HTML receipts and admin notifications
* **Analytics Dashboard:** Real-time stats, charts, and reports
* **Recurring Donations:** Monthly, quarterly, and yearly options
* **Multi-Currency:** 25+ currencies with proper formatting
* **Zero-Decimal Support:** Proper handling of JPY, KRW, and other currencies
* **Mobile Responsive:** All forms optimized for any device
* **GDPR Compliance:** Data export and deletion tools
* **Anonymous Donations:** Option to give anonymously
* **Theme Compatibility:** Works with Astra, GeneratePress, OceanWP, and more

== Upgrade Notice ==

= 1.1.0 =
Added SSLCommerz payment gateway for Bangladesh — now accept donations via bKash, Nagad, Rocket, Upay, and Bangladeshi bank cards for free.

= 1.0.0 =
Initial release of CharityGlow donation plugin. Start accepting donations today with multiple payment gateways and beautiful forms!

== Additional Info ==

= Minimum Requirements =

* WordPress 5.8 or higher
* PHP 7.4 or higher
* MySQL 5.6 or higher
* SSL Certificate (required for payment processing)

= Recommended =

* PHP 8.0 or higher
* WordPress 6.0 or higher

= Support =

For support, feature requests, and bug reports, please visit our support forum on WordPress.org or contact us at support@charityglow.com.

= Documentation =

Full documentation is available at [charityglow.com/docs](https://charityglow.com/docs)

= Credits =

* Stripe PHP Library - [stripe.com](https://stripe.com)
* SSLCommerz - [sslcommerz.com](https://sslcommerz.com)
* Chart.js - For beautiful charts in admin dashboard
* WordPress Community - For the amazing platform