WP Manifestindependent plugin directory
manifest / ecommerce / subscriptly

Subscriptly

Enterprise-grade WooCommerce subscription management for WordPress.

by Akram Ul Haq · github.com/akramg478/subscriptly · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/akramg478/subscriptly/archive/refs/heads/main.zip

Readme

Subscriptly

Enterprise-grade WooCommerce subscription management for WordPress.

Install from WordPress.org: https://wordpress.org/plugins/subscriptly/

Subscriptly provides a namespaced, extensible subscription engine with manual renewals in the free tier. Subscriptly Pro (separate product) adds automatic recurring payments, analytics, and advanced billing.

Requirements

  • PHP 8.0+
  • WordPress 6.4+
  • WooCommerce 8.0+

Features (Free)

  • Simple subscription product type.
  • Daily, weekly, monthly, and yearly billing
  • Trial periods and sign-up fees
  • Subscription lifecycle: active, on-hold, pending-renewal, cancelled, expired
  • Manual renewal flow with pending renewal orders
  • WooCommerce admin subscription list and detail screens
  • Customer My Account subscriptions endpoint
  • REST API foundation (subscriptly/v1)
  • WP-CLI foundation
  • HPOS compatibility
  • Action Scheduler powered renewals
  • Custom database tables with data store abstraction

Installation

From WordPress.org (recommended for sites)

Install Subscriptly on WordPress.org. WooCommerce must be active.

From GitHub (development)

git clone https://github.com/akramg478/Subscriptly.git wp-content/plugins/subscriptly
cd wp-content/plugins/subscriptly
composer install --no-dev --optimize-autoloader

Activate Subscriptly in WordPress, then visit Settings → Permalinks → Save Changes once.

Development

git clone https://github.com/akramg478/Subscriptly.git
cd subscriptly
composer install
composer test
composer phpcs

Useful commands

Command Description
composer test Run PHPUnit suite
composer test:unit Run unit tests only
composer phpcs WordPress Coding Standards check
composer phpcbf Auto-fix PHPCS issues where possible
composer i18n:pot Regenerate languages/subscriptly.pot

Architecture

packages/core/src/
├── Application.php          # Bootstrap + service container
├── Admin/                   # Admin controllers and list tables
├── DataStores/              # Database access layer
├── Models/                  # Domain models
├── Services/                # Business logic
├── Integrations/WooCommerce/
├── Scheduling/              # Action Scheduler renewals
├── Frontend/                # My Account
├── Rest/                    # REST foundation
├── Cli/                     # WP-CLI foundation
├── Contracts/               # Gateway and provider interfaces
└── Views/                   # PHP templates

Extension hooks

Hook Purpose
subscriptly_loaded Fires after plugin boot
subscriptly_subscription_created After subscription creation
subscriptly_subscription_status_changed Status transitions
subscriptly_process_automatic_renewal Pro gateways can take over renewals
subscriptly_enabled_features Filter enabled features
subscriptly_renewal_order_created After manual renewal order creation

Testing

Unit tests cover domain rules, feature registry, schema definitions, and formatting helpers without requiring a full WordPress test suite.

composer test:unit

GitHub Actions runs PHPUnit on PHP 8.0, 8.2, and 8.3 plus PHPCS on every push.

Building a WordPress.org zip

composer install --no-dev --optimize-autoloader
# Then zip excluding dev files — see .distignore

Or tag a release (v1.0.0) and GitHub Actions will attach a production zip automatically.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-change)
  3. Run composer test and composer phpcs
  4. Open a pull request against main

License

GPL-2.0-or-later — see LICENSE.

Author

Akram Ul Haq@akramg478

Read the full README on GitHub →