This module manages recurring subscriptions and memberships, handling automated renewals, trial periods, plan changes with proration, and customer self-service options. It also supports usage-based billing and dunning management for failed payments.
MonkeysCommerce: Subscriptions & Recurring Billing
Sell recurring subscriptions and memberships with MonkeysCommerce. Handles automated renewals, trial periods, plan changes with proration, usage-based metering, dunning management, and full customer self-service.
Entities
Entity Description SubscriptionPlan Defines billing interval, price, trial days, and feature entitlements Subscription Active subscription linking a customer to a plan with status tracking SubscriptionInvoice Generated invoice for each billing cycle SubscriptionSchedule Scheduled plan changes (upgrades/downgrades) at next renewalServices
Service ID Descriptionmkc_subscription.subscription_manager
Full lifecycle: create, activate, pause, resume, cancel
mkc_subscription.billing_service
Automated charge processing via the active payment gateway
mkc_subscription.dunning_service
Failed payment retries with configurable intervals and grace periods
mkc_subscription.proration_calculator
Calculates pro-rated credits/charges for mid-cycle plan changes
mkc_subscription.usage_tracker
Tracks metered usage for usage-based billing models
Admin Pages
/admin/commerce/subscriptions— Subscription dashboard/admin/commerce/subscriptions/settings— Global subscription settings/admin/commerce/subscriptions/plans— Manage plans (add/edit/delete)
Customer Portal
/subscriptions/plans— Public plan comparison page/account/subscriptions— Customer's active subscriptions/account/subscriptions/{id}— Subscription detail with self-service actions
API Endpoints (15+)
Method Path Description GET/api/v1/subscription/plans
List available plans
GET
/api/v1/subscription/plans/{id}
Plan detail
POST
/api/v1/subscription/subscribe
Create new subscription
GET
/api/v1/subscription
Current user's subscriptions
GET
/api/v1/subscription/{id}
Subscription detail
POST
/api/v1/subscription/{id}/cancel
Cancel subscription
POST
/api/v1/subscription/{id}/pause
Pause subscription
POST
/api/v1/subscription/{id}/resume
Resume paused subscription
POST
/api/v1/subscription/{id}/change-plan
Upgrade/downgrade with proration
GET
/api/v1/subscription/{id}/invoices
Billing history
Features
- Flexible Billing Cycles: Daily, weekly, monthly, quarterly, and annual intervals.
- Free Trials: Configurable trial periods per plan with automatic conversion to paid.
- Dunning Management: Automated retry schedule (e.g., retry day 1, 3, 7) with customer notification emails. Subscriptions auto-cancel after all retries fail.
- Proration: Mid-cycle plan changes calculate precise credits and charges.
- Usage-Based Billing: Track API calls, storage, or any metered resource and bill accordingly.
- Customer Self-Service: Pause, resume, cancel, change plan — all from the customer portal or API.
- Scheduled Changes: Queue plan upgrades/downgrades to take effect at the next billing date.
- Invoice Generation: Automatic invoice creation for each billing cycle with line item detail.
Installation
composer require drupal/mkc_subscription drush en mkc_subscription -y
Requirements
- Drupal 11.3+ or 12, PHP 8.2+
- MonkeysCommerce with mkc_payment enabled
Built with ❤️ by MonkeysCloud — empowering next-generation digital experiences.
Ask your assistant about Monkeys Commerce Subscription
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
- Monkeys Commerce mkc_core
- Monkeys Commerce mkc_order
- Monkeys Commerce mkc_payment
- Monkeys Commerce mkc_pricing
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0 | Stable | 11 | Jun 2, 2026 |