KeyPilot – Licensing Platform for WordPress
WooCommerce & Simple Digital Downloads | License Key Era, Activation Monitoring, Software program Updates & Envato Integration
Overview
KeyPilot is a next-generation licensing platform for WordPress-based digital product shops. It allows you to generate safe license keys robotically on each buy, observe activations per area, ship software program updates to your clients, and confirm Envato buy codes — all from your personal WordPress website.
Whether or not you promote plugins, themes, or any digital software program by way of WooCommerce or Simple Digital Downloads (EDD), KeyPilot provides you full management over your licensing infrastructure with out counting on any third-party SaaS service.
Key Options
License Key Era
- Routinely generates one distinctive license key per amount on each accomplished order
- Works with each WooCommerce and Simple Digital Downloads
- Allow licensing per product or globally for all merchandise directly
- Set per-product activation machine limits (e.g. 1, 3, or limitless)
- Keys are saved securely in a devoted database desk
Activation Monitoring
- Monitor which domains and units have activated every license
- Implement activation limits — block activations past the allowed rely
- View all energetic, expired, and revoked licenses from the admin dashboard
- Manually edit activation limits or revoke any license at any time
- Deactivation endpoint frees up a slot so the shopper can reuse their key on one other website
Software program Auto-Updates
- Constructed-in software program replace server for plugins and themes
- Set present model quantity, replace package deal ZIP URL, and changelog per product
- Prospects see replace notifications immediately inside WordPress admin
- Replace test endpoint returns model, obtain hyperlink, and HTML changelog
- Helps handbook and computerized replace flows in your plugin or theme
REST API
- Full public REST API at
/wp-json/keypilot/v1/ - POST /activate — Activate a license key for a website
- POST /test — Validate an present activation
- POST /deactivate — Take away an activation and free the slot
- GET /replace — Examine for accessible software program updates
- All endpoints return JSON; errors return HTTP 4xx with descriptive messages
- Authentication through
license_keyparameter (no separate API token wanted for purchasers)
License Certificates
- Every license key comes with a branded certificates web page
- Certificates hyperlink is included so as receipts and buyer emails
- Certificates URL format:
?keypilot_cert=1&key=LICENSE_KEY - Customise certificates brand and textual content from KeyPilot → Settings
Buyer-Dealing with Supply
- WooCommerce: Keys proven on Thank You web page, My Account → View Order, and order affirmation emails (HTML + plain textual content)
- EDD: Keys proven on Buy Receipt and fee affirmation
- Every key features a View Certificates hyperlink
- Customise welcome e mail topic and physique from KeyPilot → Emails
Envato / CodeCanyon Integration
- Settle for Envato buy codes (UUID format) as legitimate license keys
- KeyPilot verifies buy codes with the Envato API on first activation
- Creates a managed license from the Envato sale — activation limits and updates work identically
- Set Envato Merchandise ID in your WooCommerce/EDD product to hyperlink the sale to the right product settings
- Prospects who purchased on Envato and clients who purchased in your retailer each use the identical
/activateand/testendpoints — no separate circulation wanted - Helps CodeCanyon, ThemeForest, and different Envato marketplaces
Good Revocation
- Licenses are robotically revoked when a WooCommerce order is about to Refunded or Cancelled
- EDD licenses are revoked when fee standing modifications to refunded, revoked, or failed
- Revocation is dealt with by the license keys saved so as/fee meta — no
order_iddependency - Manually revoke any license from KeyPilot → Licenses at any time
Webhooks
- Configure a webhook URL in KeyPilot → Settings
- Obtain real-time POST notifications for occasions comparable to
license.created - Helpful for syncing with exterior CRMs, Slack alerts, or customized workflows
Admin Dashboard
- Dashboard — Overview totals: licenses issued, energetic activations, API request rely
- Licenses — Full record with search, filter by standing, edit limits, revoke
- Activations — See which domains are activated per license key
- Settings — Certificates branding, Envato token, webhook URL, world auto-enable toggle
- Emails — Edit welcome e mail, piracy alert, and expiration reminder templates
Integrations
| Plugin | What KeyPilot does |
|---|---|
| WooCommerce | Product meta setup, order completion hook, keys in receipt & e mail, refund/cancel revocation |
| Simple Digital Downloads (EDD) | Obtain meta setup, fee completion hook, buy receipt, EDD Recurring assist, refund revocation |
| EDD Entrance-Finish Submissions (FES) | Vendor product kind subject for KeyPilot licensing settings |
| Dokan | Market vendor merchandise through WooCommerce integration |
| Envato / CodeCanyon | Buy code verification through Envato API, auto license creation, activation restrict sync |
The way to Add Licensing to Your Plugin or Theme
-
Allow KeyPilot on the product (retailer aspect)
In WooCommerce: Merchandise → Edit Product → Product Knowledge → Superior tab → KeyPilot Licensing API → Allow License Era.
In EDD: Downloads → Edit Obtain → KeyPilot Licensing API meta field → Allow licensing.
Set Activation System Restrict (e.g.1,3, or0for limitless). Save the product. -
Buyer receives their key
After checkout, the license secret is proven on the Thank You web page, in My Account, and within the order/receipt e mail. Every key features a certificates hyperlink. -
Join your plugin/theme to the API
Add a license settings display screen to your product. On activation, shipPOST /wp-json/keypilot/v1/activatewithlicense_keyandurl. Periodically name/testto validate. On uninstall, name/deactivate. -
Add replace checking (optionally available)
NameGET /wp-json/keypilot/v1/replace?license_key=...&url=...&slug=...to retrieve model, download_link, and changelog. Implement your replace immediate or auto-update circulation. -
Allow Envato assist (optionally available)
Add your Envato private token in KeyPilot → Settings. Set the Envato Merchandise ID on the product. Prospects can now enter their Envato buy code because the license key.
REST API Reference
Base URL: https://your-store.com/wp-json/keypilot/v1/
| Motion | Endpoint | Technique | Parameters |
|---|---|---|---|
| Activate license | /activate |
POST | license_key, url, hardware_id (optionally available) |
| Examine license standing | /test |
POST | license_key, url, hardware_id (optionally available) |
| Deactivate license | /deactivate |
POST | license_key, url, hardware_id (optionally available) |
| Examine for replace | /replace |
GET | license_key, url, slug |
Instance: Activate a License
Request:
POST /wp-json/keypilot/v1/activate
Content material-Kind: utility/json
{
"license_key": "KPLT-A8F2-39XB-7CQ1",
"url": "https://client-site.com"
}
Success Response:
{
"success": true,
"message": "License activated efficiently.",
"standing": "legitimate"
}
Error Response (restrict reached):
HTTP 403
{
"success": false,
"message": "Activation restrict reached."
}
Necessities
- WordPress 6.0 or greater
- PHP 7.4 or greater
- WooCommerce (optionally available) — for WooCommerce integration
- Simple Digital Downloads (optionally available) — for EDD integration
- No less than one in every of WooCommerce or EDD have to be energetic
Set up
- Buy and obtain KeyPilot from CodeCanyon
- Add the
keypilotplugin folder to/wp-content/plugins/or set up through WordPress Admin → Plugins → Add New → Add Plugin - Activate the plugin from the Plugins display screen
- Go to KeyPilot within the WordPress admin menu
- On first activation, KeyPilot robotically creates all required database tables and registers the REST API routes
Often Requested Questions
<dl>
<dt>Does KeyPilot work with each WooCommerce and EDD on the similar time?</dt>
<dd>Sure. KeyPilot hundreds every integration independently relying on which plugins are energetic. You possibly can run each concurrently on the identical website if wanted.</dd>
</dl>
<dt>Do I want to change my present merchandise?</dt>
<dd>Solely to allow licensing on them. Edit the product/obtain, activate Allow License Era within the KeyPilot part, set an activation restrict, and save. From the following accomplished buy onward, keys might be generated robotically.</dd>
<dt>Can I exploit this with out WooCommerce or EDD?</dt>
<dd>No. KeyPilot requires at the least one in every of WooCommerce or EDD to deal with the shop aspect (merchandise, purchases, and receipts). The REST API and licensing engine run on high of those platforms.</dd>
<dt>Can clients who purchased on Envato use their buy code?</dt>
<dd>Sure. Add your Envato private token in KeyPilot → Settings and set the Envato Merchandise ID on the product. Prospects enter their Envato buy code the place your plugin asks for a license key — KeyPilot verifies it with Envato on first use and manages it like some other license from that time on.</dd>
<dt>What occurs when a buyer requests a refund?</dt>
<dd>When a WooCommerce order is about to Refunded or Cancelled, all licenses generated for that order are robotically set to Revoked. The identical applies in EDD when fee standing modifications to refunded or failed.</dd>
<dt>Does KeyPilot embrace a license display screen for my plugin or theme?</dt>
<dd>No. KeyPilot offers the API and the store-side key technology. You implement the license enter subject and Activate/Deactivate buttons inside your personal plugin or theme, then wire them to KeyPilot's REST API endpoints. This retains your product unbiased and totally branded.</dd>
<dt>Is the REST API public or does it require authentication?</dt>
<dd>The REST API endpoints are public-facing (no WordPress login required). Authentication is completed through the license_key parameter itself. This enables your plugin/theme working on a buyer's website to name the API with no need WordPress credentials.</dd>
<dt>Can I restrict activations to a selected variety of websites?</dt>
<dd>Sure. Set the Activation System Restrict on every product. Use 0 for limitless activations. When a buyer exceeds the restrict, the /activate endpoint returns an error. They need to deactivate on one other website first or contact you to extend the restrict.</dd>
<dt>How do software program updates work?</dt>
<dd>Within the product settings, enter the present model quantity, the direct URL to your replace ZIP file, and an HTML changelog. Your plugin/theme calls the /replace endpoint to test for newer variations. If a more moderen model exists, the endpoint returns the model quantity, obtain URL, and changelog, which you employ to set off an replace immediate or auto-update in WordPress.</dd>
<dt>Can I customise the license emails despatched to clients?</dt>
<dd>Sure. Go to KeyPilot → Emails to edit the welcome e mail topic and physique, the piracy alert e mail, and the expiration reminder template.</dd>
Changelog
Model 1.0.0 — Preliminary Launch
- WooCommerce integration: product meta, order completion, receipt/e mail supply, refund revocation
- Simple Digital Downloads integration: obtain meta, fee completion, receipt, EDD Recurring assist, refund revocation
- REST API: activate, test, deactivate, replace endpoints
- Software program Updater: model administration, ZIP supply, changelog show
- Envato / CodeCanyon buy code verification and license creation
- License certificates with customizable branding
- Admin dashboard: licenses, activations, settings, e mail templates
- Webhook assist for license.created occasions
- Dokan and EDD Entrance-Finish Submissions assist
Assist
For bug stories and have requests, please use the Feedback tab on the CodeCanyon merchandise web page.
For direct assist, use the Assist tab to submit a ticket.
Documentation is included within the obtain package deal in addition to accessible on-line.
Assist covers: set up assist, configuration questions, and bugs reproducible in an unmodified atmosphere. Customization and integration work past what the plugin offers out of the field isn’t included in commonplace assist.

