PHPackages                             maranatha-tech/church-giving - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. maranatha-tech/church-giving

ActiveWordpress-plugin[Payment Processing](/categories/payments)

maranatha-tech/church-giving
============================

Lightweight WordPress donation plugin with Stripe and PayPal support, recurring giving, email receipts, and a donor portal.

v1.2.6(3mo ago)00GPL-2.0-or-laterPHPPHP &gt;=8.1

Since Mar 31Pushed 3mo agoCompare

[ Source](https://github.com/MaranathaTech/church-giving)[ Packagist](https://packagist.org/packages/maranatha-tech/church-giving)[ RSS](/packages/maranatha-tech-church-giving/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Church Giving
=============

[](#church-giving)

Lightweight WordPress donation plugin with Stripe and PayPal support, recurring giving, detailed email receipts, and a donor portal with magic link authentication.

Features
--------

[](#features)

- **One-time and recurring donations** via Stripe and PayPal
- **Multi-step donation form** with shortcode and Gutenberg block
- **Multiple funds** (General Fund, Building Fund, Missions, etc.)
- **Detailed email receipts** with BCC to admin, merge tags, and theme-overridable templates
- **Admin dashboard** with donation history, donor list, and fund management
- **Venmo support** via PayPal integration
- **Donor portal** with magic link authentication (no WordPress account needed)
- **Bot protection** with Cloudflare Turnstile or reCAPTCHA v3
- **Webhook-driven** payment status updates
- **CSV export** of donation data with status and date filtering
- **Dashboard widget** showing total raised, donor count, active recurring, and recent donations
- **Extensible** with filters and actions for customization

Requirements
------------

[](#requirements)

- WordPress 6.0+
- PHP 8.1+
- Stripe account (for credit card processing)
- PayPal Business account (optional, for PayPal/Venmo)

Installation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
composer require maranatha-tech/church-giving
```

### Manual Installation

[](#manual-installation)

1. Download the latest release and upload the plugin folder to `wp-content/plugins/`
2. Run `composer install --no-dev` inside the plugin folder
3. Activate the plugin in WordPress admin
4. Go to **Church Giving &gt; Settings** to configure

Configuration
-------------

[](#configuration)

1. Go to **Church Giving &gt; Settings** in the WordPress admin
2. **General tab:** Set your church name, EIN, address, and default donation amounts
3. **Payment tab:** Enter your Stripe API keys and/or PayPal credentials
4. **Email tab:** Configure receipt email settings and tax-deductible statement
5. **Advanced tab:** Enable donor portal, set magic link expiration, bot protection, etc.

### Webhook Setup

[](#webhook-setup)

#### Stripe

[](#stripe)

1. Go to your [Stripe Dashboard &gt; Webhooks](https://dashboard.stripe.com/webhooks)
2. Add endpoint: `https://yoursite.com/wp-json/maranatha-giving/v1/webhook/stripe`
3. Subscribe to events: `payment_intent.succeeded`, `payment_intent.payment_failed`, `invoice.paid`, `invoice.payment_failed`, `customer.subscription.updated`, `customer.subscription.deleted`, `charge.refunded`
4. Copy the webhook signing secret to Settings &gt; Payment &gt; Stripe Webhook Secret

#### PayPal

[](#paypal)

1. Go to your [PayPal Developer Dashboard &gt; Webhooks](https://developer.paypal.com/dashboard/notifications/webhooks)
2. Add webhook URL: `https://yoursite.com/wp-json/maranatha-giving/v1/webhook/paypal`
3. Subscribe to events: `PAYMENT.CAPTURE.COMPLETED`, `PAYMENT.CAPTURE.DENIED`, `PAYMENT.CAPTURE.REFUNDED`, `BILLING.SUBSCRIPTION.ACTIVATED`, `BILLING.SUBSCRIPTION.CANCELLED`, `BILLING.SUBSCRIPTION.SUSPENDED`, `PAYMENT.SALE.COMPLETED`
4. Copy the Webhook ID to Settings &gt; Payment &gt; PayPal Webhook ID

Usage
-----

[](#usage)

### Shortcode

[](#shortcode)

```
[maranatha_giving_form]
[maranatha_giving_form funds="1,2,3" amounts="25,50,100,250" show_recurring="yes"]

```

### Shortcode Options

[](#shortcode-options)

AttributeDescriptionDefault`funds`Comma-separated fund IDs to showAll active funds`amounts`Comma-separated suggested amountsFrom settings`show_recurring`Show recurring frequency options`yes``form_id`Unique ID for multiple forms on one page`default`### Donor Portal

[](#donor-portal)

```
[maranatha_giving_portal]

```

Email Receipts
--------------

[](#email-receipts)

Receipts are sent automatically when a donation is completed. Available merge tags:

- `{donor_first_name}`, `{donor_last_name}`
- `{donation_amount}`, `{donation_date}`
- `{fund_name}`, `{donation_type}`, `{transaction_id}`
- `{church_name}`, `{church_address}`, `{church_ein}`
- `{tax_statement}`, `{year_to_date_total}`, `{donor_portal_url}`

Extensibility
-------------

[](#extensibility)

### Filters

[](#filters)

- `maranatha_giving_min_amount` — Override minimum donation amount per form
- `maranatha_giving_validate_donation` — Custom validation before processing
- `maranatha_giving_form_vars` — Modify form template variables
- `maranatha_giving_form_template` — Override form template path
- `maranatha_giving_receipt_subject` — Modify receipt email subject
- `maranatha_giving_receipt_body` — Modify receipt email body HTML
- `maranatha_giving_receipt_headers` — Modify receipt email headers
- `maranatha_giving_csv_headers` — Modify CSV export column headers
- `maranatha_giving_csv_row` — Modify individual CSV export rows

### Actions

[](#actions)

- `maranatha_giving_donation_completed` — Fires when a donation is marked completed
- `maranatha_giving_donation_refunded` — Fires when a donation is refunded

Development
-----------

[](#development)

The `vendor/` directory is gitignored and built via `composer install`. No build step is needed for JS/CSS — all assets are vanilla.

```
cd wp-content/plugins/church-giving
composer install
```

License
-------

[](#license)

GPL-2.0+

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance82

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a49d22feb0e216ae9a981fd77336b8fb25708e45d743f970150163ee4b53ea82?d=identicon)[MaranathaTech](/maintainers/MaranathaTech)

---

Top Contributors

[![MaranathaTech](https://avatars.githubusercontent.com/u/37405567?v=4)](https://github.com/MaranathaTech "MaranathaTech (3 commits)")

### Embed Badge

![Health badge](/badges/maranatha-tech-church-giving/health.svg)

```
[![Health](https://phpackages.com/badges/maranatha-tech-church-giving/health.svg)](https://phpackages.com/packages/maranatha-tech-church-giving)
```

###  Alternatives

[spatie/laravel-stripe-webhooks

Handle stripe webhooks in a Laravel application

5223.4M9](/packages/spatie-laravel-stripe-webhooks)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3310.1k](/packages/duncanmcclean-statamic-cargo)[duncanmcclean/simple-commerce

A simple, yet powerful e-commerce addon for Statamic.

16214.1k2](/packages/duncanmcclean-simple-commerce)[flux-se/sylius-stripe-plugin

Sylius Stripe plugin using Payment Request

1236.3k](/packages/flux-se-sylius-stripe-plugin)[tastyigniter/ti-ext-payregister

Allows you to accept credit card payments using PayPal, Stripe, Authorize.Net and/or Mollie.

1016.7k6](/packages/tastyigniter-ti-ext-payregister)[oxid-esales/stripe-module

Stripe Payment Module for Oxid 6

165.6k](/packages/oxid-esales-stripe-module)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
