What this family covers
Thirteen named faults, all raised by Licence\LicenceError. Ten are about the licence verdict itself; three are about this installation working out its own domain, directory or address before it can even ask. See "Licensing and Activation" in this category for where the Licence Key field actually lives (it is on WHMCS's own Addon Modules configuration form, not this module's own Settings page).
The one fact worth holding onto across every code in this family: an invalid, expired, suspended or unreachable licence only ever refuses NEW provisioning — new_provisioning_refused, documented in "Provisioning and lifecycle faults". Every customer you already have keeps working: suspend, unsuspend, terminate, usage collection, the client area and every scheduled task are never gated by this vocabulary.
The five different reasons a key can fail (five distinct operator actions)
This module deliberately never collapses these into one "licence failed" message, because each sends you somewhere different: licence_invalid means re-copy the key from the vendor's portal; licence_expired means renew it; licence_suspended means contact the vendor, not re-enter anything; licence_domain_mismatch almost always means the install moved and the licence needs re-pointing in the vendor's portal — do not buy a second licence; and licence_key_missing means nothing has been entered yet.
When the answer cannot be trusted at all
licence_unreachable and licence_response_unrecognised both mean this server could not have a real conversation with the licence endpoint — a network path problem or something else answering (a proxy, a captive portal). Neither is a verdict on the licence itself, and the last known verdict continues to apply while you fix the path. licence_integrity_failed is different in kind from all of these: the response's own integrity hash did not match, which this module treats as a possible tamper event rather than an ordinary refusal — check for a proxy or a TLS intercept between this server and the vendor before doing anything else. licence_integrity_unverifiable means the opposite problem: no shared secret is configured on this install at all, so a forged answer could not be told from a genuine one even if it arrived. licence_check_deferred is not a fault: the re-check interval has not elapsed yet and the verdict shown is simply the last one recorded.
Before this installation can even ask (three codes)
identity_domain_unresolved, identity_dir_unresolved and identity_ip_unresolved all fire before any request reaches the licence server. The first is the one to know: rather than send an empty domain (which the vendor would read back as "your licence is not valid for this domain" — a clean, dated, completely wrong answer), this module refuses by name and tells you to set the System URL in WHMCS's own general settings. The other two are rarer: a directory problem usually means this code ran outside the billing system rather than through it, and an unresolved network address is not fatal on its own — the check still proceeds without it.