Billing & Monetization

Plans & Pricing

Create up to 5 active pricing plans per plugin through the Developer Portal. Define pricing type, billing interval, trial period, and feature list.

Plan Limits

Each plugin can have a maximum of 5 active plans at any time. You can deactivate a plan (which hides it from new subscribers) without deleting it.

Pricing Types

TypeDescriptionStatus
recurringCharged on a monthly or annual cycleAvailable
one_timeSingle charge — no ongoing billingAvailable
usageMetered billing based on consumptionComing soon

Billing Intervals

For recurring plans, you choose the billing cadence:

IntervalValue
Monthlymonthly
Annualannual

Plan Fields

FieldTypeRequiredDescription
namestringYesPlan display name shown to merchants
slugstringYesURL-safe unique identifier (e.g., starter, pro)
descriptionstringNoShort description of what's included
pricedecimalYesPrice in major currency units (e.g., 29.99)
currencystringYesCurrency code — currently USD only
intervalstringYes (recurring)monthly or annual
trialDaysnumberNoFree trial length in days (0–90). Default: 0.
featuresstring[]NoFeature list for display in marketplace cards
isPopularbooleanNoHighlights the plan as recommended in the UI
sortOrdernumberNoControls display order when multiple plans are shown

Trial Rules

  • Maximum 90 days per trial
  • Trials are granted only on the first subscription per installation — reinstalling the plugin does not re-grant a trial
  • During trial: the merchant is not charged and no billing item is created
  • When trial ends: billing activates automatically via a daily background job
  • If a merchant cancels during trial: the subscription ends at trial expiry with no charge ever applied

Creating Plans

Plans are created and managed through the Developer Portal dashboard. The platform automatically handles the payment processor integration when you save a plan — you do not need to create products or prices on any external system.

Example Plan Configuration

Plan: "Starter"
  Slug:     starter
  Type:     recurring
  Price:    $9.99 / month
  Trial:    14 days
  Features: ["Basic analytics", "10 reports/month"]

Plan: "Pro"
  Slug:     pro
  Type:     recurring
  Price:    $29.99 / month
  Trial:    14 days
  Features: ["Advanced analytics", "Unlimited reports", "Export CSV"]
  Popular:  true

Plan: "Enterprise"
  Slug:     enterprise
  Type:     recurring
  Price:    $99.99 / month
  Trial:    30 days
  Features: ["Everything in Pro", "Custom dashboards", "Priority support"]

Plan Slugs in the SDK

The slug you define here is the identifier you use when calling billing methods in the App Bridge:

// Use the plan slug to request a subscription
await bridge.billing.requestSubscription("pro");

// Use the plan slug to switch plans
await bridge.billing.switchPlan("enterprise");

Plan slugs must be unique within your plugin and are immutable after the plan has active subscribers. Create a new plan and deactivate the old one if you need to restructure pricing.

On this page