{"id":329410,"date":"2026-06-22T11:06:50","date_gmt":"2026-06-22T11:06:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/license-keys-activation-for-woocommerce\/"},"modified":"2026-06-22T11:16:02","modified_gmt":"2026-06-22T11:16:02","slug":"bluesoftweb-license-keys","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bluesoftweb-license-keys\/","author":1386560,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.6","requires_php":"7.2","requires_plugins":null,"header_name":"BlueSoftWeb License Keys & Activation for WooCommerce","header_author":"Keral Patel (BlueSoftWeb)","header_description":"Sell software license keys with WooCommerce. Auto-generates a unique key on purchase, shows it to the customer, and exposes a REST API your app can call to activate, validate and deactivate licenses. Works with WooCommerce.","assets_banners_color":"162032","last_updated":"2026-06-22 11:16:02","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.bluesoftweb.com","header_plugin_uri":"https:\/\/www.bluesoftweb.com","header_author_uri":"https:\/\/www.keralpatel.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":68,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"keralpatel","date":"2026-06-22 11:16:02"}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3581661,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3581661,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3581661,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3581661,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3581661,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3581661,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3581661,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3581661,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3581661,"resolution":"4","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"The list of issued license keys in the admin.","2":"Product setting: sell as a license key, with activation limit and expiry.","3":"The customer's keys under My Account - Licenses.","4":"Settings page showing your activation API endpoints."}},"plugin_section":[],"plugin_tags":[3741,58361,146554,58362,26437],"plugin_category":[],"plugin_contributors":[267694],"plugin_business_model":[],"class_list":["post-329410","plugin","type-plugin","status-publish","hentry","plugin_tags-activation","plugin_tags-license-key","plugin_tags-license-manager","plugin_tags-serial-key","plugin_tags-software-license","plugin_contributors-keralpatel","plugin_committers-keralpatel"],"banners":{"banner":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/banner-772x250.png?rev=3581661","banner_2x":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/banner-1544x500.png?rev=3581661","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/icon.svg?rev=3581661","icon":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/icon.svg?rev=3581661","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/screenshot-1.png?rev=3581661","caption":"The list of issued license keys in the admin."},{"src":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/screenshot-2.png?rev=3581661","caption":"Product setting: sell as a license key, with activation limit and expiry."},{"src":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/screenshot-3.png?rev=3581661","caption":"The customer's keys under My Account - Licenses."},{"src":"https:\/\/ps.w.org\/bluesoftweb-license-keys\/assets\/screenshot-4.png?rev=3581661","caption":"Settings page showing your activation API endpoints."}],"raw_content":"<!--section=description-->\n<p><strong>BlueSoftWeb License Keys &amp; Activation for WooCommerce<\/strong> turns any WooCommerce product into a licensed product. When a customer buys it, a unique license key is generated automatically, shown on the order and in the order email, and listed under <strong>My Account \u2192 Licenses<\/strong>. Your software then calls a simple REST API on your own site to activate, validate or deactivate each key.<\/p>\n\n<p>This is built for developers who sell plugins, themes, desktop apps or SaaS and need a no-fuss key + activation system inside the store they already run.<\/p>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li>Mark any product as a license product (one checkbox)<\/li>\n<li>Auto-generate a unique, readable key on purchase<\/li>\n<li>Per-product activation limit (or unlimited)<\/li>\n<li>Per-product expiry, in days (or lifetime)<\/li>\n<li>Keys shown on the order, in the order email and in My Account \u2192 Licenses<\/li>\n<li>Manual key creation from the admin for support cases and offline sales<\/li>\n<li>Admin list of every key with status, activations and instances<\/li>\n<li>Revoke automatically on order cancel\/refund<\/li>\n<\/ul>\n\n<h4>The activation API<\/h4>\n\n<p>Every key can be checked from your application over a public REST API served by <strong>your own site<\/strong> \u2014 no third-party service, and your customer data never leaves your server.<\/p>\n\n<pre><code>POST \/wp-json\/bsw-license-keys\/v1\/activate    license_key, instance, [label]\nGET  \/wp-json\/bsw-license-keys\/v1\/validate     license_key, [instance]\nPOST \/wp-json\/bsw-license-keys\/v1\/deactivate   license_key, instance\n<\/code><\/pre>\n\n<p>Example check from your app:<\/p>\n\n<pre><code>curl \"https:\/\/yourstore.com\/wp-json\/bsw-license-keys\/v1\/validate?license_key=BSW-AB3K-9F2M-QXR7-T8WC\"\n<\/code><\/pre>\n\n<p>The response is JSON with a <code>success<\/code> flag, the license <code>status<\/code>, activation counts and the expiry date.<\/p>\n\n<h4>Where is the data stored?<\/h4>\n\n<p>All keys and activations are stored in your own WordPress database (custom tables in your install). The activation API runs on your site. Nothing is sent to BlueSoftWeb or any external server.<\/p>\n\n<h4>Pro version<\/h4>\n\n<p><a href=\"https:\/\/www.bluesoftweb.com\/plugins\/bsw-license-keys\">BlueSoftWeb License Keys &amp; Activation for WooCommerce Pro<\/a> adds built-in renewals (expiry reminder emails and one-click renew), white-label customer emails and account portal, a branded license email, and priority support.<\/p>\n\n<h4>Trademark notice<\/h4>\n\n<p>WooCommerce is a trademark of Automattic Inc. This plugin is an independent extension and is not affiliated with, endorsed by, or sponsored by Automattic.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install it from <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Edit a product, open the <strong>General<\/strong> tab and tick <strong>Sell as license key<\/strong>. Set an activation limit and expiry if you want.<\/li>\n<li>Go to <strong>License Keys \u2192 Settings<\/strong> to choose when keys are issued and to view your API endpoints.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes for automatic key generation on purchase. You can still create and manage keys manually without WooCommerce active.<\/p><\/dd>\n<dt id=\"where%20are%20the%20license%20keys%20stored%3F\"><h3>Where are the license keys stored?<\/h3><\/dt>\n<dd><p>In your own WordPress database, in custom tables created by the plugin. The activation API is served from your site. No data is sent anywhere else.<\/p><\/dd>\n<dt id=\"how%20does%20my%20software%20check%20a%20key%3F\"><h3>How does my software check a key?<\/h3><\/dt>\n<dd><p>It sends an HTTP request to the activation API on your store, for example <code>https:\/\/yourstore.com\/wp-json\/bsw-license-keys\/v1\/validate<\/code>. The plugin replies with JSON describing whether the key is valid, how many activations are used, and when it expires.<\/p><\/dd>\n<dt id=\"can%20one%20key%20be%20used%20on%20several%20installs%3F\"><h3>Can one key be used on several installs?<\/h3><\/dt>\n<dd><p>Yes. Set an activation limit per product (or 0 for unlimited). Each activation records an \"instance\" identifier so you can see and revoke individual installs.<\/p><\/dd>\n<dt id=\"can%20keys%20expire%3F\"><h3>Can keys expire?<\/h3><\/dt>\n<dd><p>Yes. Set a validity in days per product, or leave it at 0 for a lifetime key. Expired keys return an <code>expired<\/code> status from the API.<\/p><\/dd>\n<dt id=\"does%20it%20support%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Does it support High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares HPOS compatibility and uses the WooCommerce order API throughout.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Sell software license keys with WooCommerce. Auto-generate a key on purchase and give your app a REST API to activate, validate and deactivate it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/329410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=329410"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/keralpatel"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=329410"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=329410"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=329410"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=329410"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=329410"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=329410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}