Products

This document is based on the PaaS 8.2 version. The subscription functionality introduced in the 8.1 release is not production-ready but just a beta (preview) of the feature. Be aware that subscriptions configured on the beta version won’t be migrated during the 8.2 upgrade.

The Billing > Products section in the platform admin panel provides information and allows the management of subscription-based packages. The pricing approach here is different from the regular pay-per-use one. It is more in line with the pay-per-period definition - the charge is done once, and the product becomes available to the customer for the defined period. The customer cannot edit the topology of such a solution, but all the consumed resources are considered free of charge by default.

Tip: In some cases, additional costs for product resources can be set - for example, the “overuse” case, when the consumption exceeds a specific limit.

admin panel billing products

The table provides a list of all the products added to the platform. If needed, the data can be manually updated at any time with the Refresh button. The list provides the following information:

  • Name (ID) – displays the name and unique ID of the product
  • Subscriptions – shows the number of active subscriptions (hover over for details on all the product’s subscriptions - active, unpaid, canceled, ended, incomplete)
  • Status – shows the product’s status (active or inactive), which defines if the product will be displayed in the user dashboard
  • User Groups – lists groups the product is available for (all by default)
  • Description – shows a custom description for the product

Selecting a specific record opens an additional section to the left with a list of service plans for the current product:

  • Service Plan (ID) – name and unique ID of the service plan
  • Subscriptions – shows the number of active subscriptions; hover over for details on all the product’s subscriptions by type:
    • INCOMPLETE - initial state
    • INCOMPLETE_EXPIRED - if the first invoice was not paid till the due date
    • TRIAL - trial period
    • ACTIVE - the last invoice is in the “paid” status
    • PAST_DUE - any invoice is not paid
    • UNPAID - the last invoice has expired
    • SUSPENDED - subscription is not used
    • CANCELED - subscription is canceled
    • ENDED - resources are deleted
  • Status – service plan’s status
    • Draft - a new plan (without any subscriptions) that can be edited.
    • Active - visible for end-users (new subscriptions can be issued). If edited, the changes will affect all existing subscriptions.
    • Inactive - not visible for end-users (new subscriptions cannot be issued), but existing subscriptions are fully supported. If edited, the changes will affect all existing subscriptions.
    • Archived - not visible for end-users (new subscriptions cannot be issued), but existing subscriptions are fully supported. Once archived, a plan can no longer be edited. This status is final and cannot be changed.
  • Price – the product cost per item per month/year
  • Charge Type – service plan’s charge type (currently, only fixed subscription-based pricing with free resources after the initial fee is available)

product service plans

Tip: The Subscription tab provides the same information as the Billing > Subscriptions section of the admin panel but for the selected product only.

Using the tools panel at the top of the section, cluster admins can:

  • Add – creates a new product (described in detail in the next section)
  • Edit – adjusts the existing product (the same changes as during the product addition)
  • Remove – deletes a product (the option is active for the products without subscriptions only)
  • Search – filters the list by the selected products’ Status

managing billing products

Adding New Product

Click the Add button in the Products section to create a new product.

1. In the opened Add Product window, provide the following information on the new item:

  • Basic Data
    • Type – choose the type of the product (currently not editable, only Marketplace Installation type is available)
    • Display Name – provide a product name (it will be seen in the user dashboard during the installation)
    • Status - shows the product’s status (active or inactive)
    • User Groups – select groups this product should be available to (all by default)
  • Advanced Settings
    • Logo – provide a link to the product logo or Browse the platform resources
    • Short Description – write a single-line description
    • Description (markdown) – prepare a detailed product description (it will be seen in the user dashboard during the installation)
    • Related Packages – list packages that, upon selecting them in the user dashboard Marketplace, will show a notification about the current product (with a link)

Tip: For example, if WordPress Standalone Kit is added to the Related Packages, customers will see the following during its standard installation:

related subscriptions package notification

add subscription product

2. Next, you need to add service plan(s) to your project. If you have added some service plans earlier, you can reuse them by clicking the Add > Use Existing option. Tick the required ones from the opened window:

existing service plans

3. When adding a new service plan, provide the following basic information:

  • Display Name – provide a service plan name (it will be seen in the user dashboard during the installation)
  • Description – write a service plan description (it will be seen in the user dashboard during the installation)
  • Charge Type – currently, only fixed subscription-based pricing with free resources after the initial fee is available
  • Status – select active, inactive, or draft status for the service plan
  • Max Quantity – set the maximum number of active installations the user can buy per subscription
  • Grace Period (days) - configure a grace period during which the payment delays won’t result in the cancellation of the subscription and destruction of all its resources (set as zero to delay till the end of the current day)
  • Description (markdown) – prepare a detailed service plan description (it will be seen in the user dashboard during the installation)
  • Allow moving to another service plan – tick the checkbox to allow migration to a different service plan within the same product
Note: In order to use the migration option, the service plan packages should be provided with the required behavior (code specified in the dedicated onApplySubscriptionSettings section). You can download and analyze our example manifest for additional information.

add new service plan

4. In the right part of the service plan addition window, you can see four tabs: Package, Regions, Subscription Tariffs, and Metadata.

The first one allows you to choose the required installation package from the list loaded from the Marketplace section.

service plan package

You can learn more about Service Plan Options in the section below.

5. The Regions tab provides information on the regions (host groups) where the package should be available and the pricing model used.

service plan regions

If needed, you can:

  • click the Override User Group Regions button to configure the service plan’s regions differently from the user group’s default ones
  • edit the pricing model per region (the pencil icon); resources are free by default for the subscription products, but a special model can be assigned to support cases like “overuse”

6. The Subscription Tariffs tab is used to set the price for the subscriptions.

service plan subscription tariffs

Here, you can Add tariffs of the new Subscription type:

  • Name – provide a tariff name
  • Description – write a tariff description
  • Type – the subscription type is preselected and cannot be changed
  • Charge Period – choose a monthly or yearly period
  • Currency – select the price currency

add subscription tariff

Configure pricing tiers in the same way as for the regular tariffs.

7. The last Metadata tab shows a list of items that can be used as placeholders (for example, in the service plan description). Click Add and provide the required key and value pair.

service plans metadata

Save the changes. If needed, provide additional tariffs and service plans for your product.

Service Plan Options

When configuring a subscription service plan, you can redefine default values for the selected package. For example, the following options are available for the “subscription upgrade” package:

service plan options

Note: You can use the Editable by User checkbox to:

  • If enabled, the specified option’s value represents just a default value. The user can redefine it during the service plan installation.
  • If disabled, the provided value will override any other value specified in the package or provided by the user.

All packages in the list are exported from the Marketplace section of the admin panel. All the options are listed in the schema section of the selected package’s manifest file. You can examine the code to learn what these options are doing.

package manifest schema

If you want to add custom options and limits to the package, you need to fork it (most of our packages are available via JPS Collection on GitHub) and provide adjustments with the new options. After that, you need to add your updated package via the admin panel’s Marketplace tab, select it in the Products > Service Plan, and use your new options.

Note: The platform will try to install the package even if the target user does not have sufficient quotas. However, regardless of the limits specified in the package, the actual values (that the user gets after installation) cannot exceed the account quotas.

What’s next?