Developer FAQ

Everything you need to integrate your products with LicenseOS.

1 Getting Started

How do I become a developer on LicenseOS?
  1. Click Register to create an account.
  2. Navigate to the Developer → Apply page from your user menu or footer links.
  3. Fill in your developer profile (name, website, description) and submit.
  4. Once approved by admin, you'll get access to the Developer Dashboard.
  5. From Dashboard, go to Products → Create to publish your first product.
How do I get an API Key?

After your developer account is approved:

  1. Go to Developer Dashboard → API Keys.
  2. Click Generate New Key.
  3. Copy the key — it will only be shown once.
  4. Use this key in your SDK initialization as the api_key parameter.
What product types are supported?
wp_plugin — WordPress Plugin wp_theme — WordPress Theme android_app — Android App ios_app — iOS App desktop_app — Desktop App web_app — Web App chrome_extension — Chrome Extension shopify_app — Shopify App figma_plugin — Figma Plugin laravel_package — Laravel Package source_code — Source Code script — Script api_service — API Service template — Template ebook — eBook course — Online Course other — Other

2 SDK Integration (WordPress)

Quick Start: Integrate LicenseOS SDK in a WordPress plugin

Download the SDK file from the platform and include it in your plugin. Initialize in your plugin's main file:

// In your plugin's main file (e.g. my-plugin.php)
require_once __DIR__ . '/licenseos-sdk.php';

// Initialize with your platform API URL and API key
LicenseOS::init(
    'https://your-licenseos-domain.com/api/v2',
    'your-api-key-here'
);

// Enable WordPress auto-update integration
LicenseOS::enableAutoUpdate(
    'your-plugin-slug',
    'stored-license-key'
);

This enables license activation, status checking, and automatic updates directly within WordPress.

How to add a license activation page in my plugin?

Create a settings page where users enter their license key, then call the SDK:

// When user submits their license key
function my_plugin_activate_license($key) {
    $domain = parse_url(home_url(), PHP_URL_HOST);
    $result = LicenseOS::activate($key, $domain, 'my-plugin-slug');

    if ($result['status'] === 'success') {
        update_option('my_plugin_license_key', $key);
        update_option('my_plugin_license_status', 'active');
        return 'License activated!';
    }

    return 'Activation failed: ' . ($result['message'] ?? 'Unknown error');
}
How to check license status on every page load?

Use a cached check to avoid API calls on every request. Verify once per hour:

function my_plugin_check_license() {
    $key = get_option('my_plugin_license_key');
    if (!$key) return false;

    // Cache check result for 1 hour
    $cached = get_transient('my_plugin_license_check');
    if ($cached !== false) return $cached === 'valid';

    $result = LicenseOS::check($key);
    $valid = ($result['status'] ?? '') === 'valid';

    set_transient('my_plugin_license_check',
        $valid ? 'valid' : 'invalid', HOUR_IN_SECONDS);

    return $valid;
}

3 License API

API Endpoints reference
MethodEndpointAuthDescription
POST/api/v2/license/activateAPI KeyActivate a license key for a domain
POST/api/v2/license/checkAPI KeyCheck license status & expiry
GET/api/v2/update/checkAPI KeyCheck for new versions
GET/api/v2/downloadLicense KeySecure download

Pass API Key via X-API-KEY header. All responses are JSON.

4 Update System

How to push a new version?
  1. Go to Developer → Products, click your product.
  2. In the Upload New Version section, fill in version number, ZIP file and changelog.
  3. Click Upload Version.
  4. All customers with active licenses will see the update automatically.

5 Pricing & Commission

How do pricing tiers work?

Each product supports multiple pricing tiers: trial, monthly, quarterly, semi-annual, annual, and lifetime. Configure tiers in your product's Edit → Pricing Tiers section.

How is commission calculated?

When a sale is made, the platform deducts a commission fee. The remaining amount is your developer income. Check Developer → Payouts for details.

6 Payout

How do I withdraw my earnings?
  1. Set up your payout account in Developer → Payouts → Payout Methods.
  2. Supported methods: Bank transfer, PayPal, Alipay, WeChat Pay.
  3. Click Request Payout and enter the amount.
  4. Admin reviews and processes the payout.

7 Troubleshooting

License activation returns "max domains reached"

The license has been activated on the maximum allowed number of domains. Purchase a higher-tier license with more domain slots.

WordPress doesn't show available updates
  1. Verify enableAutoUpdate() is called after LicenseOS::init().
  2. Ensure the plugin slug matches the product slug.
  3. Force refresh: Dashboard → Updates → Check Again.
API returns "Invalid API key" or 401
  • Ensure the X-API-KEY header is being sent correctly.
  • Verify the API key hasn't been revoked.
  • Regenerate a new key if needed.