PHPackages                             justinholtweb/craft-headcount - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. justinholtweb/craft-headcount

ActiveCraft-plugin[Authentication &amp; Authorization](/categories/authentication)

justinholtweb/craft-headcount
=============================

Full-featured membership plugin for Craft CMS with Stripe + PayPal integration, tiered access, content gating, drip content, and subscription management.

5.0.2(1mo ago)00proprietaryPHPPHP ^8.2

Since Jun 11Pushed 1w agoCompare

[ Source](https://github.com/justinholtweb/craft-headcount)[ Packagist](https://packagist.org/packages/justinholtweb/craft-headcount)[ RSS](/packages/justinholtweb-craft-headcount/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (5)Versions (3)Used By (0)

Headcount for Craft CMS 5
=========================

[](#headcount-for-craft-cms-5)

Full-featured membership and subscription management plugin for Craft CMS 5. Stripe and PayPal integration, tiered access control, content gating, drip content, and a complete subscription lifecycle -- built for the Craft ecosystem.

Features
--------

[](#features)

- **Stripe &amp; PayPal** -- Recurring payments via Stripe Checkout Sessions and PayPal Subscriptions API v2
- **Membership Plans** -- Tiered plans with configurable billing intervals (day/week/month/year), trial periods, and per-plan pricing
- **Content Gating** -- Restrict entries by section, entry type, category, or individual entry with redirect, paywall, or hide behaviors
- **Drip Content** -- Schedule content to unlock N days after subscription start
- **User Group Sync** -- Automatically add/remove users from Craft user groups based on subscription status
- **Coupons &amp; Discounts** -- Percentage or flat-rate codes synced to Stripe Coupons
- **Member Portal** -- Self-service subscription management via Stripe Customer Portal
- **Reporting** -- MRR, churn rate, trial conversion, growth metrics, and dashboard widgets
- **Transactional Emails** -- Welcome, receipt, payment failed, trial ending, cancellation, and drip unlock notifications via Craft's mailer
- **REST API** -- JSON endpoints for plans, subscriptions, checkout, portal, and member info with API key auth
- **Twig Extension** -- `craft.headcount` variable and `{% headcountGate %}` tag for template-level gating
- **CLI Commands** -- `headcount/subscriptions/expire`, `headcount/subscriptions/sync`, `headcount/sync/plans`, `headcount/sync/status`

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

[](#requirements)

- Craft CMS 5.0+
- PHP 8.2+
- Stripe account (for Stripe payments)
- PayPal Business account (optional, for PayPal payments)

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

[](#installation)

```
composer require justinholtweb/craft-headcount
php craft plugin/install headcount
```

Or install from the [Craft Plugin Store](https://plugins.craftcms.com/headcount).

Quick Start
-----------

[](#quick-start)

### 1. Configure Payment Gateways

[](#1-configure-payment-gateways)

Navigate to **Headcount &gt; Settings** and enter your Stripe API keys. Optionally enable PayPal.

Settings can be overridden via `config/headcount.php`:

```
