Monetization

Products & Prices

Define subscription plans, pricing tiers, and add-ons

Products & Prices

Products represent what your customers can buy. Each product has one or more prices that define how it is billed. Together, products and prices form the billing foundation that entitlements and features build on.

Products

A product is a purchasable plan or add-on scoped to a specific app and environment (test or live).

Creating a product

Navigate to Products in your app's dashboard and click Create Product. Every product requires:

  • Name -- a display name for internal reference (e.g., "Pro Plan", "Credits Pack")
  • External ID -- a unique, SDK-facing identifier (e.g., pro_monthly). This is the ID you reference in your app code and paywall configurations. It must be unique within the same app and environment.

Product options

FieldDescription
NameDisplay name shown in the dashboard
External IDSDK-facing identifier, unique per app and environment
GroupGroups related products together (maps to App Store subscription groups)
Add-onMark as an add-on rather than a primary plan
DefaultFlag as the default product for new customers
ProcessorLinks to App Store (see below)

Product groups

Use the Group field to organize related products. For App Store apps, groups correspond directly to subscription groups in App Store Connect. Grouping controls how the App Store handles upgrades and downgrades between products.

Linking to a payment processor

Each product can link to an external processor:

  • App Store -- Set the processor ID to your StoreKit product identifier (e.g., com.yourapp.pro_monthly). This must match the Product ID in App Store Connect exactly.

Versioning

Products support versioning. When you need to change what a product includes without affecting existing subscribers, you can create a new version. The SDK and runtime always resolve the latest version of a product by its external ID.

Soft deletion

Deleting a product performs a soft delete. Existing subscribers retain their access, but the product is no longer available for new purchases.

Prices

Prices define how a product is billed. A single product can have multiple prices (for example, a monthly and yearly option).

Fixed prices

Fixed prices charge a set amount on a recurring interval or as a one-time payment.

FieldDescription
AmountThe charge in minor units (e.g., 999 = $9.99)
CurrencyISO 4217 currency code (e.g., usd, eur)
IntervaloneOff, month, quarter, semiAnnual, or year

Example: a $9.99/month subscription uses amount: 999, currency: "usd", interval: "month".

Usage-based prices

Usage-based prices bill customers according to how much they consume. Configure these when your pricing depends on metered feature usage.

FieldDescription
FeatureThe metered feature this price tracks
Billing triggerWhen to bill: start of period, end of period, or below a threshold
Usage tiersTiered pricing brackets (e.g., first 1,000 units at $0.01, then $0.005)
CurrencyISO 4217 currency code

Usage tiers follow a graduated model. Each tier specifies an upper bound and a per-unit amount. The final tier must extend to infinity.

Intro offers

Intro offers let you give new customers a free trial or discounted introductory period before regular billing begins.

Create intro offers from the product detail page. Each offer specifies:

  • Duration -- the length of the introductory period
  • Fingerprint -- an optional unique identifier to prevent a customer from redeeming the same offer twice

For App Store products, intro offer periods can be imported automatically when syncing products from App Store Connect.

Intro offers are delivered to the SDK alongside product and price data, so your paywalls can display trial information without additional API calls.

How products reach your app

When you create or update products and prices in the dashboard, Nuxie syncs the definitions to the edge for fast, low-latency access. The SDK and runtime use these synced definitions to:

  • Validate purchases against known products and prices
  • Resolve entitlements for the purchased product
  • Display accurate pricing in paywalls

This sync happens automatically after dashboard mutations. No manual deployment step is required.

Next steps