Upgrades
An upgrade moves a customer from one SKU to another — for example Standard → Gold, or V1 → V2. This page explains how upgrades work, independently of any specific language or store integration.
For implementation details, see the C++ Upgrade Licenses tutorial or the WooCommerce upgrade integration.
The two licenses involved
Every upgrade involves two serials:
- The source — the customer’s current license.
- The target — the upgrade license they move to.
How the match works
- When you create the upgrade (target) license, you mark it as an upgrade license and choose which source SKU(s) it accepts.
- KEYZY validates the upgrade by SKU identity: it checks whether the source license’s SKU is one of the accepted sources. It does not compare the individual products inside two SKUs.
- An upgrade can accept several source SKUs at once. This is “any one of these sources” (OR) — a holder of any accepted source SKU can use the upgrade, and you do not need a separate upgrade definition per source.
If the source license’s SKU is not an accepted source, the upgrade is rejected (an “upgrade does not match” result).
One license in, one license out
An upgrade is strictly one license in, one license out. On success the server deletes the source license and makes the target available to activate. After the upgrade succeeds on the server, you still activate the target serial as usual.
Related
- Bundles — modeling bundles and completing them with upgrades
- C++ Upgrade Licenses
- WooCommerce Upgrade