C++ SDK

The Ultimate C++ Licensing Engine for SaaS, Desktop, and Custom Software. Stop building custom Licensing APIs. This framework-agnostic SDK is the native C++ bridge between your application and your License Manager for WooCommerce (Pro) backend.

πŸš€ Accelerate Your Software Monetization

If you are building a SaaS, desktop application, or custom software, your focus should be on your productβ€”not building complex REST API integrations for licensing.

This SDK provides native C++ access to the License Manager for WooCommerce (Pro) ecosystem. Integrate robust activation, validation, update, and download management into your software in minutes.

πŸ›‘οΈ Why Choose This SDK?

  • Zero API Manual Coding: REST endpoints are mapped to simple C++ methods.
  • Framework Agnostic: Modern C++17, libcurl, and nlohmann/json work with desktop, server-side, or standalone applications.
  • Secure Client API: Distributed applications can use the public API without shipping WooCommerce consumer secrets.
  • Enterprise Ready: Designed for license management and multi-tier SaaS fulfillment.

πŸ’Ž Professional API Support Matrix

This SDK provides native coverage for the License Manager for WooCommerce (Pro) REST APIs.

πŸ”‘ Core Licensing

FeatureSDK MethodAPI Endpoint
List Licensesclient.licenses().list()GET /licenses
Retrieve Licenseclient.licenses().get(key)GET /licenses/{key}
Create Licenseclient.licenses().create(data)POST /licenses
Update Licenseclient.licenses().update(key, data)PUT /licenses/{key}
Delete Licenseclient.licenses().remove(key)DELETE /licenses/{key}
Activate Licenseclient.licenses().activate(key)GET /licenses/activate/{key}
Reactivate Licenseclient.licenses().reactivate(key, params)GET /licenses/activate/{key}
Deactivate Licenseclient.licenses().deactivate(key)GET /licenses/deactivate/{key}
Validate Licenseclient.licenses().validate(key)GET /licenses/validate/{key}

βš™οΈ License Generators

FeatureSDK MethodAPI Endpoint
List Generatorsclient.generators().list()GET /generators
Retrieve Generatorclient.generators().get(id)GET /generators/{id}
Create Generatorclient.generators().create(data)POST /generators
Update Generatorclient.generators().update(id, data)PUT /generators/{id}
Delete Generatorclient.generators().remove(id)DELETE /generators/{id}
Generate Keys (Pro)client.generators().generate(id, data)POST /generators/{id}/generate

πŸš€ Merchant & SaaS (Pro)

FeatureSDK MethodAPI Endpoint
Customer Licensesclient.customers().get_licenses(id)GET /customers/{id}/licenses
Products/Pingclient.products().ping(data)POST /products/ping
Products/Updateclient.products().update(key)GET /products/update/{key}
Download Productsclient.products().download_url(key)GET /products/download/latest/{key}
Retrieve Applicationclient.applications().get(id)GET /application/{id}
Download Applicationclient.applications().download_url(id, token)Signed application download URL

🌐 Public Client API

FeatureSDK MethodAPI Endpoint
Activatepub.activate(body)POST /wp-json/lmfwc/v1/public/activate
Reactivatepub.reactivate(body)POST /wp-json/lmfwc/v1/public/reactivate
Deactivatepub.deactivate(body)POST /wp-json/lmfwc/v1/public/deactivate
Validatepub.validate(body)POST /wp-json/lmfwc/v1/public/validate
Installed Checkpub.installed(body)POST /wp-json/lmfwc/v1/public/installed

πŸ’Ž The Revenue Model: Free SDK + Pro Engine

The SDK is your client-side tool to bundle with your software. To serve as the merchant backend, you must have the Pro Engine.

PhaseClient SDK (This Free Repo)Pro Engine (Your WooCommerce Store)
PurposeConnects your C++ application to your store.Handles orders, payments, and keys.
AvailabilityFree for developers.Purchase Required Here

πŸ“¦ 3-Minute Developer Quick Start

Step 1: Install the C++ toolchain

Install a C++17 compiler, CMake 3.16+, libcurl, and Git. On Windows, Visual Studio with Desktop development with C++ and C++ CMake tools for Windows is recommended. nlohmann/json is fetched by CMake.

Step 2: Build the SDK

Add the SDK to your project:

add_subdirectory(path/to/lmw-sdk-cpp)
target_link_libraries(your_app PRIVATE lmfwc)

The static library target is lmfwc, and public headers are under include/lmfwc/.

Alternatively, clone and build it on Windows:

git clone https://github.com/YOUR_ORG/lmw-sdk-cpp.git
cd lmw-sdk-cpp
cmake -B build -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake
cmake --build build --config Release

Step 3: Initialize the client

Include the public header and initialize the client:

#include "lmfwc/lmfwc.hpp"
#include <cstdlib>

lmfwc::ClientConfig config;
config.store_url = std::getenv("LMW_STORE_URL");
config.consumer_key = std::getenv("LMW_CONSUMER_KEY");
config.consumer_secret = std::getenv("LMW_CONSUMER_SECRET");
config.timeout_seconds = 120;

lmfwc::LicenseManagerClient client(config);

4. Basic Activation Pattern

try {
    lmfwc::Json result =
        client.licenses().activate("ABCD-1234-EFGH-5678");
    // Store the activation token from result for future validation.
} catch (const lmfwc::LicenseManagerException& e) {
    std::cerr << "Error: " << e.api_error_message() << '\n';
}

Successful API calls return lmfwc::Json, backed by nlohmann::json. Failures throw lmfwc::LicenseManagerException, which exposes the API error code, message, and HTTP status.

πŸ—οΈ Application Integration

Server-side and Trusted Applications

Use the Pro REST API with WooCommerce consumer_key and consumer_secret credentials stored in environment variables, encrypted configuration, or a secrets manager.

Desktop, Mobile, and Distributed Software

Use the separate public client API with the product public key. Never ship the WooCommerce consumer secret in end-user software.

lmfwc::LicenseManagerPublicClient pub("https://your-store.com");

lmfwc::Json body = {
    {"public_key", "YOUR_PRODUCT_PUBLIC_KEY"},
    {"license_key", "ABCD-1234-EFGH-5678"},
    {"domain", "my-app.example.com"},
};

lmfwc::Json result = pub.validate(body);

πŸš€ Get the Pro Merchant Engine Today

Unlock 100% of the SDK’s power by upgrading to the Pro edition of License Manager for WooCommerce.

On this page

    Scroll to Top
    license Manager For WooCommerce

    Privacy Overview

    This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.