Description
LicenShield is a complete software license management solution for WordPress developers. Sell your plugins and themes with confidence using secure license key validation, activation limits, and Stripe payments.
Free Features
- Unlimited Products & Licenses – No artificial limits
- License Key Generation – Create secure, unique license keys automatically or manually
- Activation Management – Control how many sites can use each license
- Expiration Dates – Set license validity periods
- Stripe Payments – Accept one-time payments and auto-generate licenses
- REST API – Integrate license validation into any WordPress plugin or theme
- Email Notifications – Automatic emails for purchases
- Rate Limiting – Protect your API from abuse
- Setup Wizard – Get started in minutes
Use Cases
- Sell premium WordPress plugins with license protection
- Manage theme licenses with activation limits
- Protect any digital product with license validation
Developer Friendly
LicenShield provides a simple REST API for license validation:
POST https://yoursite.com/wp-json/ls/v1/validate
{
"license_key": "LS-XXXX-XXXX-XXXX-XXXX",
"site_url": "https://customer-site.com"
}
LicenShield Pro
Take your license business to the next level with Pro features:
- Subscription Billing – Monthly and yearly recurring payments
- Discount Codes – Create coupons for promotions and sales
- Slack Notifications – Get instant alerts for sales and activations
- Piracy Detection – Monitor and protect against unauthorized use
- Advanced Analytics – Revenue charts, trends, and insights
- Webhook Integrations – Connect to Zapier, CRMs, and more
- Priority Support – Get help when you need it
Visit licenshield.com for Pro pricing and details.
Privacy Policy
LicenShield stores license keys, customer emails, and site URLs for license validation purposes. This data is stored in your WordPress database and is not shared with third parties except for payment processing via Stripe.
For more information, visit licenshield.com/privacy.
External Services
This plugin connects to third-party services to provide payment functionality:
Stripe
LicenShield integrates with Stripe for payment processing. When a customer purchases a license through your site:
- What is sent: Customer email, purchase amount, product details, and payment card information (handled directly by Stripe, never stored locally)
- When it is sent: During checkout when a customer initiates a purchase, and when processing webhooks for order fulfillment
- Why it is needed: To process credit card payments and automatically generate license keys upon successful payment
Stripe is a PCI-compliant payment processor. All payment data is handled securely by Stripe’s servers.
Screenshots
Installation
- Upload the
licenshieldfolder to the/wp-content/plugins/directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to LicenShield Settings to configure your options
- Create your first product under LicenShield Products
- Start generating licenses under LicenShield Licenses
Stripe Setup
- Go to LicenShield Settings Stripe
- Enter your Stripe API keys (test or live mode)
- Configure your webhook endpoint in your Stripe dashboard
- Payments will automatically generate licenses
FAQ
-
How do I validate licenses in my plugin?
-
Use the REST API endpoint to validate licenses. Example PHP code:
$response = wp_remote_post('https://yoursite.com/wp-json/ls/v1/validate', [ 'body' => [ 'license_key' => $license_key, 'site_url' => home_url() ] ]); -
Can I migrate from other license managers?
-
Yes, you can import licenses via CSV or create them manually in the dashboard.
-
Does it work with WooCommerce?
-
LicenShield works alongside WooCommerce but uses Stripe directly for payments. WooCommerce integration is planned for a future release.
-
How are license keys generated?
-
Keys use a secure format:
LS-XXXX-XXXX-XXXX-XXXXwith cryptographically random characters. -
Can customers manage their own licenses?
-
Customers receive their license key by email after purchase. They can share the key with you to manage activations from the admin dashboard.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“LicenShield” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “LicenShield” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.7.14
- Fix: Removed auto-install Pro feature — users install Pro manually per WordPress.org guidelines
- Fix: Renamed all PHP prefixes from ls_ to licenshield_ for WordPress.org compliance
- Fix: Renamed class prefixes from LS_ to LICENSHIELD_ for WordPress.org compliance
- Fix: Download handler now correctly serves files from absolute server paths
1.7.7
- Fix: [ls_buy_button] now accepts product slug (e.g. product=”licenshield-pro”) in addition to numeric ID
1.7.6
- Fix: Pro tab now correctly shows the Pro settings panel (license status, Slack config) after Pro is activated, instead of the installer form
- Fix: LS_Admin no longer double-initializes when LicenShield Pro is active
1.7.3
- Fix: Removed “expiration reminders” from feature list — not yet implemented
- Fix: Corrected REST API namespace in FAQ example from licenshield/v1 to ls/v1
- Fix: Removed inaccurate customer portal claim from FAQ
1.7.2
- Fix: Resolved 3 PHPCS errors — unescaped $upgrade_url outputs in class-ls-upsell.php now use esc_url()
- Fix: Resolved UnescapedDBParameter warnings in class-ls-tier.php — table names now passed via wpdb->prepare() with %i placeholder
- Fix: Added phpcs:ignore with justification comments to unavoidable direct DB queries in class-ls-stripe.php and class-ls-api.php (webhook handlers and transactional inserts have no WP API equivalent)
- Fix: Added file-level phpcs:disable in class-ls-analytics.php — all queries are real-time aggregations where caching would produce stale reports
1.7.1
- Fix: Dashboard revenue and license charts now render correctly (scripts were not enqueued)
- Fix: Removed stale “LicenShield API (Optional)” section from readme — self-licensing was removed in 1.7.0
- Fix: Removed orphan discount database table that had no corresponding UI or code
- Fix: Removed duplicate /checkout/create REST endpoint (use /checkout instead)
- Fix: Removed stale license_key_input tooltip referencing removed license tab
- Improved: REST API endpoints now have inline comments explaining why __return_true is intentional
- Improved: Get Pro button on dashboard now shows what Pro features include
1.7.0
- Redesign: Pro features now displayed as WPForms-style muted cards — clearly visible but not functional in the free version
- Removed: Self-licensing system (LS_Self_License) — no longer gating any features behind a license key
- Removed: License settings tab with key activation form
- Removed: Upsell modal and all JavaScript gating
- Added: Dedicated “Pro Features” settings tab showing all Pro capabilities with links to licenshield.com
- Simplified: LS_Tier is now a pure display helper with no feature blocking
- Free plan: Unlimited products and licenses — no artificial limits
1.6.1
- Fix: Removed subscription billing restriction — all billing cycles now available to all users
- Fix: Added missing LS_Tier helper methods (format_limit, get_usage_percentage, can_activate)
- Fix: Updated constant prefix to LICENSHIELD_ for WordPress.org compliance
- Fix: Replaced locked UI elements with plain Pro feature callouts
- Fix: Slack settings tab now links to licenshield.com/pricing instead of opening a modal
1.5.1
- Fixed: Version constant mismatch issue
- Fixed: SQL injection vulnerabilities in analytics queries
- Fixed: Path traversal security vulnerability in download endpoint
- Improved: Rate limiting now enforced on all validation endpoints
- Improved: Download endpoint security with file type validation
- Improved: Added security headers to download responses
- Security: Enhanced input validation and sanitization
1.4.3
- New: Hover tooltips on all admin pages
- New: Guided tour system for first-time users
- Tooltips explain field labels, stats, table columns, and settings
- Tours auto-start on first visit, can be replayed via “Take Tour” button
- Dashboard, Licenses, Products, Orders, and Settings pages all supported
1.4.2
- New: Setup Wizard for easy onboarding
- Wizard guides through Stripe setup, product creation, and SDK integration
- Auto-detection of completed setup steps
- Progress tracking sidebar
- Copy-to-clipboard for API URLs and code snippets
1.4.1
- Added self-licensing capability
- Improved license verification UI
- Enhanced plan limits display
- Security improvements
1.4.0
- Stripe Payment Sheet integration
- HTML email templates
- Rate limiting for API endpoints
- Contact form on website
1.3.0
- REST API for license validation
- Webhook support
- Improved dashboard UI
1.2.0
- Email notifications for purchases and expirations
- Customer portal improvements
- Bug fixes
1.1.0
- Stripe integration
- Automatic license generation on purchase
- Expiration date management
1.0.0
- Initial release
- License key generation
- Activation management
- Basic dashboard






