Instant Language SwitcherDocumentation
⌕
v0.24.3

Stardetha Store Licensing Setup

Install and configure the commercial store licensing stack.

Backend scope (v0.24.3): Stardetha One is the customer default; legacy mode requires an explicit IST_LICENSE_BACKEND=legacy override. The legacy behavior below does not describe Stardetha One. For One configuration, strict signature checks, a maximum 72-hour signed lifetime, target-language/memory grants, online character authorization, and licensed package updates, see Stardetha One Integration.

Legacy licensing backend

The commercial stack is now intentionally independent of EDD and WooCommerce.

Install on stardetha.com

  1. WordPress 6.4 or later.
  2. PHP 8.0 or later.
  3. Stardetha Licensing Manager v1.1.0.
  4. The separate Stardetha Licensing Manager Documentation plugin if you want the licensing documentation portal inside WordPress.
  5. Your existing PayFast/PayGate payment solution.

Initial configuration

Open Stardetha Licensing → Products & Plans and set activation limits, durations, currency and prices. The default product is instant-language-switcher with Single Site, Professional, Business, Agency and Enterprise plans.

Create a WordPress page such as /my-licenses/ and place [stardetha_licenses] on it. Set that URL under Stardetha Licensing → Settings.

Payment integration

The licensing manager exposes a gateway-neutral signed payment-confirmation endpoint:

POST /wp-json/stardetha-licensing/v1/payments/confirm

Your PayFast/PayGate integration must verify the payment with the gateway first, normalize the successful payment into Stardetha's documented JSON fields, sign the exact JSON body with the webhook secret, and then call this endpoint server-to-server.

Do not issue a license merely because a visitor reached a browser return/success page.

Test before selling

Create a manual/test license under Stardetha Licensing → Licenses, install Instant Language Switcher v0.21.0 on a separate staging site, activate the key, test activation-limit handling, deactivate/reactivate it, then publish a small test release and confirm WordPress can retrieve and install it through the normal update interface.