How To Call It
License is a global table: call its functions with a dot (License.<method>(...)), not a colon.
Same as License.isActive(): returns true when the user has an active premium entitlement; the arguments are ignored.
Documented for app version 1.0.51Updated:
License is a global table: call its functions with a dot (License.<method>(...)), not a colon.
In security and licensing flow, re-check the result at critical checkpoints instead of trusting a single early validation.
Required: macroId, secret. Returns a boolean (true or false).
When paired with License and Runtime/System checks, it gives you stronger premium, trial, and security decisions.
The snippet below is a starter pattern that can be applied directly in runtime flow.
local ok = License.isValid("my_macro", "macro-secret")From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local ok = License.isValid("my_macro", "macro-secret")local stepOk = true
local ok = License.isValid("my_macro", "macro-secret")
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local ok = License.isValid("my_macro", "macro-secret")
end)
if not ok then
print("API step failed: License.isValid: " .. tostring(err))
requestStop()
end-- In security and licensing flow, re-check the result at critical checkpoints instead of trusting a single early validation.
local function run_isvalid_step()
local ok = License.isValid("my_macro", "macro-secret")
end
local ok, err = pcall(run_isvalid_step)
if not ok then
toast("Step failed")
print(err)
endlocal ok = License.isValid("my_macro", "macro-secret")
wait(200)
print("Combined with logging and flow control")