# fluent-cart/1.6.4/app/Modules/Subscriptions/SubscriptionModule.php

FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler, version 1.6.4. 38 lines.

- Page: https://pluginprobe.com/plugins/fluent-cart/1.6.4/code/app/Modules/Subscriptions/SubscriptionModule.php
- Raw: https://pluginprobe.com/plugins/fluent-cart/1.6.4/raw/app/Modules/Subscriptions/SubscriptionModule.php
- Modified: 2026-07-29T13:15:28+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-cart/1.6.4/code/app/Modules/Subscriptions/SubscriptionModule.php#L10-L20`.

```php
<?php

namespace FluentCart\App\Modules\Subscriptions;

use FluentCart\App\App;
use FluentCart\App\Models\Subscription;
use FluentCart\App\Modules\Subscriptions\Services\Filter\SubscriptionFilter;
use FluentCart\Framework\Support\Arr;

class SubscriptionModule
{
    public static function register()
    {
        $self = new static();
        App::getInstance()->addAction('fluentcart_loaded', [$self, 'init']);
    }

    public function init($app)
    {
        $app->router->group(function ($router) {
            require_once __DIR__ . '/Http/subscriptions-api.php';
        });

        (new \FluentCart\App\Modules\Subscriptions\Http\Handlers\AdminMenuHandler())->register();

        // Checkout gateway capability gate — new subscription carts, renewals, and reactivations.
        (new \FluentCart\App\Modules\Subscriptions\Services\SubscriptionGatewayGate())->register();

        // Auto-charge engine for system (token-charged) subscription renewal invoices.
        (new \FluentCart\App\Modules\Subscriptions\Services\SystemChargeService())->register();

        add_filter('fluent_cart/admin_filter_options', function ($filterOptions, $args) {
            $filterOptions['subscription_filter_options'] = SubscriptionFilter::getTableFilterOptions();
            return $filterOptions;
        }, 10, 2);  
    }
}

```
