Inhaltsverzeichnis

Platform Admin Tips

Inhaltsverzeichnis

Configuring subscriptions

Guide: Product configuration in the subscription system (entitlements & credits)

Using the “Credit & Entitlement” architecture, we configure products in the backend so that they directly control our internal business logic (costs, credits, feature activations). The system supports seamless transitions between different tiers (upgrades and downgrades).

1. The most important fields in the product

2. Structure of subscriptionInfo (JSON)

The subscriptionInfo directly controls the permissions (HostFeature) of the user.

3. Configuration examples

Case A: A standard feature subscription (e.g. Visualizer Level 3)

A typical product for new customers or for changing subscription levels (upgrades and downgrades).

"subscriptionInfo": {
  "type": "visualizer",
  "level": 3,
  "features": {
    "host.licences.visualizer": 3,
    "panorama.model3ds": true
  }
}

What happens? The backend books the entitlement for type „visualizer“ and sets the HostFeatures host.licences.visualizer3 = „true“ as well as panorama.model3ds = „true“ . Old Visualizer keys from a previous level (e.g. visualizer2) are automatically cleared in the process.

Case B: Similar to the Visualizer subscription (Licence Level 2)

Another level-based subscription with an annual billing cycle.

"subscriptionInfo": {
  "type": "licence",
  "level": 2,
  "features": {
    "host.licences.licence": 2
  }
}
Case C: The credit top-up subscription (pure Stripe product)

This product is designed to be paid for regularly via Stripe, with credits credited to the user’s wallet in return.

"subscriptionInfo": {
  "type": "credit",
  "features": {}
}

What happens? The user pays real money via Stripe. The webhook recognises the type „credit“ and skips the direct chargeback. The creditPrice of 100 remains as WALLET_TOP_UP in the user’s wallet. Pro-rata refunds are automatically disabled for this type.