Monkeys Commerce Subscription
No security coverage
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.