Product Tiers

This guide explains how to create and manage product tiers in OpenDev for in-app purchases and subscriptions.

Overview

Product Tiers define your application's purchasable items:

  • In-app purchases (consumable and non-consumable)
  • Subscriptions (monthly, yearly, etc.)
  • Virtual goods and premium features

Prerequisites

  • OpenDev account with appropriate permissions
  • Understanding of your pricing strategy
  • Payment platform product IDs (Stripe, Google Play, Apple, etc.)

Accessing Product Tiers

  1. Log in to OpenDev Platform
  2. Click Product Tiers in the sidebar
  3. You'll see the list of all product tiers

Creating a Product Tier

  1. Click Add Product Tier button
  2. Fill in the product details:

Basic Information

Field Required Description
Product ID Yes Unique identifier (e.g., pro_monthly)
Name Yes Display name (e.g., "Pro Monthly")
Description No What's included in this tier
Product Type Yes Subscription or One-time

Product Type Options

Type Description Use Case
Subscription Recurring billing Monthly/yearly plans
One-time (Consumable) Can buy multiple times Virtual currency, lives
One-time (Non-consumable) Buy once Premium unlock, themes

Subscription Configuration

For subscription products:

Field Description
Billing Period Monthly, Yearly, Weekly
Trial Days Free trial period (optional)

Platform Product IDs

Link your product tier to payment platform products:

Stripe

{
  "stripe": "price_1234567890abcdef"
}

Get this from Stripe Dashboard > Products > Price ID

Google Play

{
  "google_play": "pro_monthly_subscription"
}

Must match your Google Play Console product ID

Apple Store

{
  "apple": "com.yourapp.pro.monthly"
}

Must match your App Store Connect product ID

WeChat Pay

{
  "wechat_pay": "pro_monthly_cny"
}

Used for identifying products in CNY transactions

Complete Configuration Example

{
  "productId": "pro_monthly",
  "name": "Pro Monthly",
  "type": "subscription",
  "subscriptionPeriod": "monthly",
  "trialDays": 7,
  "platformProductIds": {
    "stripe": "price_1234567890",
    "google_play": "pro_monthly_sub",
    "apple": "com.myapp.pro.monthly",
    "wechat_pay": "pro_monthly_cny"
  }
}

Managing Product Tiers

Edit Product Tier

  1. Click on a product tier in the list
  2. Click Edit button
  3. Modify the fields as needed
  4. Click Save Changes

Delete Product Tier

  1. Click on a product tier
  2. Click Delete button
  3. Confirm deletion

Warning: Cannot delete if bound to channel configurations.

Enable/Disable Payment

Toggle payment processing for individual tiers:

  1. Find the product tier in the list
  2. Click the payment toggle
  3. Disabled tiers won't appear in payment options

Product Tier Organization

Account Tiers:
├── free_tier         (Base, no payment)
├── pro_monthly       (Subscription)
├── pro_yearly        (Subscription, discounted)
└── enterprise        (Custom pricing)

Consumables:
├── coins_100         (One-time)
├── coins_500         (One-time)
└── coins_1000        (One-time)

Premium Features:
├── remove_ads        (One-time, permanent)
├── dark_theme        (One-time, permanent)
└── premium_features  (One-time, permanent)

Naming Conventions

Good Product IDs:
- pro_monthly
- coins_100
- premium_yearly
- remove_ads

Avoid:
- product1 (not descriptive)
- Monthly Pro (spaces)
- pro-monthly (use underscores)

Pricing Strategy

Subscription Tiers

Tier Monthly Yearly Savings
Pro $9.99 $99.99 17%
Enterprise $29.99 $299.99 17%

Trial Periods

Recommended trial lengths:

  • 7 days: Standard trial, good conversion
  • 14 days: For complex products
  • 30 days: Enterprise or B2B

Regional Pricing

Configure different prices per region using platform-specific settings:

{
  "price": {
    "USD": 999,
    "EUR": 899,
    "CNY": 6800,
    "JPY": 1100
  }
}

Payment Platform Integration

Verify Platform IDs

Ensure your platform product IDs are correctly configured:

  1. Stripe: Check Stripe Dashboard > Products
  2. Google Play: Google Play Console > In-app products
  3. Apple: App Store Connect > In-App Purchases
  4. WeChat: WeChat Pay Merchant Platform

Test Products

Create test products in sandbox environments:

Platform Sandbox
Stripe Test mode products
Google Play License testers
Apple Sandbox testers
WeChat Sandbox environment

Metadata Configuration

Add custom metadata for advanced features:

{
  "metadata": {
    "max_apps": 10,
    "max_collaborators": 5,
    "support_level": "priority",
    "api_calls_per_day": 10000,
    "has_rbac": true,
    "has_full_audit": true
  }
}

Common Metadata Fields

Field Type Description
max_apps number Application limit
max_collaborators number Team member limit
support_level string Support tier (basic, priority, dedicated)
apicallsper_day number API rate limit
has_rbac boolean Role-based access control
hasfullaudit boolean Full audit logging
sla_guarantee number SLA percentage (e.g., 99.9)

Best Practices

Product Design

  1. Clear naming - Users should understand what they're buying
  2. Value proposition - Make benefits obvious
  3. Upgrade path - Easy to move between tiers
  4. Consistent pricing - Logical price differences between tiers

Technical Implementation

  1. Unique IDs - Never reuse product IDs
  2. Version carefully - Create new IDs for price changes
  3. Test thoroughly - Verify on all platforms before launch
  4. Monitor metrics - Track conversion and churn rates

Compliance

  1. Clear descriptions - Required by app stores
  2. Subscription terms - Explain renewal terms
  3. Refund policy - Follow platform guidelines
  4. Price display - Show local currency

Troubleshooting

Product Not Appearing

Possible causes:

  • Payment not enabled for product
  • Platform product ID incorrect
  • Product not activated in platform console

Price Mismatch

Solutions:

  • Verify platform product prices match
  • Check currency conversion settings
  • Ensure price IDs are current

Cannot Delete Product

Cause: Product is bound to channel configurations

Solution: Remove from channel product configs first

Next Steps

  1. Channel Product Configs - Bind products to channels
  2. Payment Setup - Configure payment processing
  3. App Configuration - Include in config packages