Smart Subscriptions is a Joomla 3 component for subscriptions and membership management. It is integrated into Joomla registration and user profile and automatically adds users to user groups depending on the subscriptions they choose on registration or when they edit their Joomla profiles.
Both free and paid subscriptions are supported. Subscriptions can be life-time or have expiration dates. A number of global component settings that can be overrided on per-account basis define subscription upgrade and renewal rules and discounts.
Smart Subscriptions installation package includes everything you need to test the application and make sure it meets your requirements. After you get it up and running you can download and install add-ons. If you have issues or questions do not hesitate to ask.
Smart Subscriptions component adds subscriptions selection control to Joomla registration and profile forms and doesn't require it own component view in Joomla frontend. The best way to view component demo is to open your profile in edit mode (if you already have an account) or sign up for a new Joomla account. All payment plugins are running in test ("sandbox") mode, feel free to "purchase" and "upgrade" your subscriptions. After your subscription is confirmed, go to Demo Articles to check your current view permissions.
Smart Subscriptions administration interface follows standard Joomla design guidelines for content management. The are two views in component administration:
- Accounts - create, modify and delete subscription accounts
- Subscriptions and payments - view, change state, modify and delete current users' subscriptions and review and approve payments
Due to the fact that "Subscriptions and payments" view reveals real users' names and emails, a demo access to component backend is not allowed. Screenshots below will help you make an idea of the component administration look and feel.
Smart Subscriptions is distributed as a package installable via Joomla Extensions manager. The core package includes the component itself, "Smart Subscriptions" user profile plugin and "Offline" payment plugin, all these extentions are installed automatically. The built-in plugins are not enabled by default, so that your site behavior will not change until you enable them manually. You can start adding accounts to Smart Subscriptions right away after installation. Normally you will also have to prepare user groups / view levels for your planned subscriptions (see Configure user groups for Smart Subscription accounts for details).
Optionally, download and install payment plugins, "demo" plugin is available as free download. You will have to enable these plugins manually after installation. Once you have accounts and user groups basically set up you can enable "Smart Subscriptions" user plugin - at this moment your site members and visitors will see subscriptions selector in registration and profile forms.
Payment plugins and other add-ons for Smart Subscriptions can be found here.
Smart Subscriptions component can be uninstalled via Joomla Extension manager. The user plugin and all additional payment plugins will be uninstalled automatically along with the main component. Uninstallation script will also clean up user profiles table removing all related keys. It should not affect any other component or plugin.
"Account" is the central concept of Smart Subscriptions component. Accounts define which content the site users will have access to and when they will have to renew their membership. When a user signs up for or upgrades to a subscription he will be automatically added to the user group associated with the account selected. Each account must be linked to a user group. If user groups and view levels are configured correctly the user will get access to all public content plus the content specific for the access level linked to his subscription. Read Configure user groups for Smart Subscription accounts for details.
You can also (and normally will) set expiration time for accounts, so that users will have to purchase a new subscription after their current one expires. Accounts with no expiration dates are also supported, so you can offer both limited-time and life-time memberships on your site.
Accounts can be free or paid. You can use a free account as an alias for the standard Joomla "registered" user status, giving users with a free subscription access to the same content a typical Joomla site would give to registered and logged in users. A free account cannot have expiration date, i.e. it never expires. This is a basic and logical limitation, simply keep it in mind. Only published accounts will be available for your site visitors / users when they sign up for / upgrade to a subscription. If a user already has an active subscription for an account and this account is later unpublished, this user will still be able to login until his current subscription expires. Of course if the user tries to edit and save his profile, he will be obliged to change his subscription to one of currently published ones (this is a "deprecated accounts" feature implementation). Site administrator can assign both published and unpublished accounts to users.
Site administrator can manage subscriptions and payments using the corresponding Smart Subscriptions view in Joomla administration interface. All current and archived subscriptions are listed and can be flitered by various parameters using "Search tools". Depending on the permissions the administration user has he may also be able to change subscriptions status (paid / pending), edit or delete them.
Status change action is important for "offline" payments management. If a user signs up for a paid subscription using an "offline" payment method (like the one included in Smart Subscriptions distribution package), his payment will appear as "pending" in subscriptions and payments view. The new subscription will be activated only after component administrator changes its status to "paid". It can be done from the list view (for one or more payments) or saving a payment edit form. For security only offline payments statuses can be changed in list view.
Payment edit form gives you an access to other payment and subscription properties: you can modify expiration date, change payment amount or even change subscription account. Although this will never be a popular scenario but it may help in customer support and dispute resolutions.
Smart Subscriptions component follows standard Joomla philosophy of view level management and control, that is why accounts configuration should not be a problem for an experienced Joomla administrator. But even if you are not an expert in Joomla ACL you can follow these guidlines to setup Smart Subscriptions accounts.
Smart Subscriptions basic settings pane allows site administrator to configure available currencies and account expiration alerts.
A set of currency code is hardcoded in the component. Normally your installation will not require all available currencies, so that you can limit currencies that can be used in subscription prices to those you are going to support. Select one or more currencies from the list. If you leave the currencies list empty all of them will be available.
Account expiration alerts configuration defines when users will be notified about their soon subscription expiration and also the moment after which users can renew their subscriptions. Due to the fact that accounts can have different expiration periods "alert before expiration" is expressed in percentage of the current subscription valid period. Also because accounts expiration periods may vary from few hours to several years, a simple percentage setting is not sufficient: for short-time subscriptions alerts may be displayed too late and for the long-time ones they may annoy users if displayed too early.
Smart Subscriptions component sends email notifications to users and site administrator if a subscription is created or updated. The notification being sent depends on the event (the action on a subscription or payment). Email HTML templates used for notifications generation are stored in /administrator/helpers/emailtpl/ folder (admin/helpers/emailtpl in installation package zip file). Individual templates must be defined for each of the supported languages and placed into <lang-tag> subfolder (e.g. /administrator/helpers/emailtpl/en-GB for english).
Smart Subscription supports account upgrades and renewals discounts and options. Although new registrations with sign up to a subscription and later subscription renewal will be the most used scenario, your clients may wish to change subscription accounts before their current subscriptions expire. All subscription changes that are not new registrations are considered as:
- “upgrade” - user switches to a more expensive account
- “downgrade” - user switches to a cheaper account
- “renewal” - user purchases the same subscription for a new period (for subscriptions that expire)
Smart Subscriptions component doesn't require its own view in Joomla frontend. The visual presentation of the component consists in providing site visitors / users a web control to create and manage their subscriptions. Graphically this control is embedded into core Joomla user manager frontend views - "registration" and "profile" (the latter in both default and edit layouts). That said, Smart Subscriptions should in most cases fit well into the template you are using, providing that it is prepared to display user profile(s). Also if you change templates, template layout options or even use a template override for registration / edit profile forms, subscriptions selection control should follow the new page layout without problems.
There would be nothing more to add here if subscriptions selector were a simple and compact input control, but it isn't. Apart from the selector itself (which in some layouts and if there are several accounts to choose from may occupy significant space) it also displays account descriptions and special "expires soon" notice and control. That is why Smart Subscriptions implements its own layouts, templates and supports template overrides.
Starting from version 1.2.6 Smart Subscriptions component supports scanning of active subscriptions, automatic reset to free account for expired subscriptions and email notifications to users when their subscriptions are about to expire. In earlier versions of the component subscriptions were validated only when users logged in. If a subscription was expiring soon a reminder was displayed in message area, if a subscription had already expired it was reset to a free account allowing the user to login and purchase another subscription.
With a cron task running periodically subscriptions are maintained up to date not depending on user login activity, i.e. expired subscriptions are reset to free account immediately and users receive email notification about their subscription update. Reminder emails about soon account expiration are sent when cron task detects active subscriptions which are about to expire.
Smart Subscriptions user profile plugin supports custom URL parameters in links to registration. This feature can be useful for web designers who would like to place direct links to registration on a web page. Such links can be designed as buttons to improve the visual impact thus motivating site visitors to register with a paid subscription.
Standard "Create an Account" link in core Joomla login form allows users to choose from all available accounts during registration. Adding custom URL parameters to direct registration links makes the difference: registration form will offer only one subscription depending on parameter's value. It makes possible to design several links (buttons) each one "connected" to a registration with a subscription preselected.
Starting from version 1.2.2 Smart Subscriptions component is compatible with Joomla sites that use 3-d party registration and profile managers, e.g. "Community Builder". Smart Subscriptions is integrated into Joomla user registration and profile management, so that if another application completely replaces core Joomla registration and profile views and bypasses core users controllers, new user registrations go outside the scope of Smart Subscriptions.
This problem is partially solved in Smart Subscriptions versions 1.2.2 and later. Smart Subscriptions user plugin implements new settings: "Automatic free subscription" and "Hide profile fields". If "Automatic free subscription" is ON and there is a free Smart Subscriptions account configured, all newly registered users become a free subscription owners automatically after first login. Later they can upgrade to paid accounts, renew their subscriptions, etc.
Version 1.2.3 adds support for K2 system and user plugins. These plugins alter user registration and edit profile forms, Smart Subscriptions versions prior to 1.2.3 were not aware of these changes. The latest version should work flawlessly with K2 application on your site.
Smart Subscriptions payment plugins are running in "sandbox" mode. If you choose PayPal as payment method you have to use the following "demo" credit card
|CVV||123 (actually any code will work)|
You will also have to provide a valid address and telephone. If you are not familiar with spanish regions, you can use the following ficticious data:
|Address||C/Tomas Edison, 2|
Latest Joomla versions 3.9.x introduce a new system plugin - privacyconsent (more information here).
Smart Subscriptions component uses its own controller to register users and update their profiles (custom controller is required to support payment plugins), which in combination with privacyconsent plugin enabled results in infinite redirect.
In the latest Smart Subscriptions 1.3.8 we introduce a new system plugin (Smart Subscriptions J3.9) which provides a workaround. This plugin doesn't require configuration, just enable it if you are planning to use Smart Subscriptions on Joomla sites with privacyconsent plugin enabled.
Demo articles with different "view levels" are published in this category. Depending on the your current subscription you will have access to one ore more articles.
- Guest demo article - visible to all
- Guest demo article with "read more" plugin - intro text visible to all, full text requires "Standard" or higher subscription
- Free subscription demo article - visible to all registered and logged in users
- Basic subscription demo article - intro text visible to "Basic" or higher subscription owners, full text requires "Standard" or higher subscription
- Standard subscription demo article - visible to "Standard" or higher subscription owners
Payment plugins and other add-ons for Smart Subscriptions