Marketplace Integration
Use your provisioning and billing system to manage licenses for hosted panel installations. Pre-Seeded Provisioning covers first boot; the Partner API defines the endpoint, authentication and request schemas.
Keep the order and license linked
A license belongs to a customer and a commercial contract. Obtain the appropriate contract before issuing licenses. Store the license ID and externalBillingRef with your order so you can reconcile usage and statement lines later. The Partner Center customer is a commercial record, distinct from a panel's tenant customer.
License creation returns key material for provisioning. Capture it in your protected store immediately; do not assume list/detail responses can recover it. If the response is lost, reconcile the license records before issuing another license. A retry can create another billable object; it is not a substitute for an idempotency strategy in your provisioning system.
Billing lifecycle
| Order event | Partner API action |
|---|---|
| New buyer | Create customer |
| New installation | Issue license under the contract |
| Plan change | Change license edition |
| Payment hold | Suspend license |
| Payment recovered | Resume license |
| Final cancellation | Terminate license |
Suspension is reversible; termination is not a pause. Confirm the target license and recovery plan before a destructive commercial action. These actions change licensing state, not application data on the hosted VPS.
What the installation sees
The panel validates against the licensing backend. The background revalidation job is scheduled every 24 hours; connectivity, worker scheduling and cached license behavior affect when a change is observed. This is not a guaranteed 24-hour enforcement deadline or an immediate service cutoff.
A successfully observed invalid/suspended license falls back to the Free edition; new work is subject to that edition's limits. The licensing change itself does not delete the installation's containers or data. Resumption needs a subsequent successful validation before the paid edition is reflected locally.
Connection failures have a separate cached-license fallback, with a seven-day cache window in the source. Check actual License & Edition state when an order requires confirmation; do not infer the result from the Partner API write.
Reconcile
Use the Partner API's usage and statements endpoints and retain your order mapping. Check the statement's status before invoicing from it. See Statements for draft/finalized behavior. Keep key material and partner tokens out of order notes, audit exports and tickets.