FeaturesLicense and access control
Entitlements

License keys, device limits, and revocation — all from the order.

Issue license keys at checkout, track activations per device, and revoke access automatically on refund or cancellation. No separate license server — entitlement state lives in the same order record as everything else.

Auto
key on purchase
Device
limits enforced
Instant
revoke on refund
License record — DesignFlow Pro · Order #CH-2213
License key
CH-94K2-M7PQ-BX31
Active· Issued Apr 29, 2026
Device activations1 / 2 seats used
Activation log
MacBook Pro 16"
mac-3f8a...
Apr 29
Available slot
Entitlement state
StatusActive
Key pool42 / 200 issued
Seat limit2 devices
Activations1 of 2 used
API validationEnabled
On refund — automatic
Key status → Revoked
All device activations cleared
API validation returns invalid
Why this matters

Most license systems are detached from the sale.

Separate license servers mean a refund in Stripe doesn't automatically revoke the key. A key shared between users won't show up in your commerce record. When a buyer has a license issue, there's no order context next to it. CodeHawke treats license keys as a fulfillment type — same order, same record, same support surface.

Separate license server
CodeHawke license control
Manual revoke after refund
Refund auto-revokes the key
License isolated from order context
Key tied to order record
Support needs two systems
License visible on buyer order
Key pool managed separately
Pool managed per product in dashboard

License key issuance

Issue a unique key per order from a pre-loaded pool. Keys deliver instantly with the purchase confirmation.

Device activation limits

Set how many devices can activate a single license. Buyer activates a device, count decrements automatically.

Seat and usage tracking

Track which devices are activated, when, and from which IP. Visible on the order record for support use.

Revocation on refund

When an order is refunded, the license key is deactivated automatically. No manual step required.

Access state management

Gate software, API access, or premium features behind license validity. Access state syncs with order state.

Key validation endpoint

Your software can call the CodeHawke API to validate a license key at runtime — online or periodic check.

How it works

Issue on purchase. Revoke on refund. No manual steps.

The license lifecycle is driven by the order state. When the order is paid, the key is issued. When the order is refunded, the key is revoked. No webhook to configure, no cron job to run.

Step
What happens
Load key pool
Upload a CSV of license keys to the product. Keys are issued in order, one per purchase.
Buyer purchases
Checkout completes. A key is drawn from the pool and delivered to the buyer immediately.
Buyer activates
Buyer enters the key in your software. Activation is logged against the order.
Limit enforced
If the device limit is reached, new activations fail until an existing device is deactivated.
Refund revokes
Refunding or cancelling the order deactivates the key. Your software can verify at next check.

License keys that live and die with the order.

Automatic issuance, device limit enforcement, refund revocation — all tied to the order record, all without a separate license management system.

Try CodeHawke