Swft License
Delivers software license keys to customers on the Swft Checkout confirmation screen, immediately after payment. Supports custom key pools you paste in, License Manager for WooCommerce, WC Software Add-On, and arbitrary order meta fields.
Swft License is free.
What it does
Section titled “What it does”When a shopper buys a product that has a license key configured, the key appears on the confirmation screen alongside their order details — and in the WooCommerce confirmation email. No follow-up email required, no portal login.
Each product on your store can use a different license source: a stored pool of pre-generated keys, an external license manager plugin, or a custom field that holds the key.
Prerequisites
Section titled “Prerequisites”- WordPress 6.0+
- WooCommerce 8.0+
- PHP 7.4+
- Swft Checkout active
- One of (optional, depending on source):
- License Manager for WooCommerce — for managed key pools with activation tracking
- WC Software Add-On — for WooCommerce-native license management
Installation
Section titled “Installation”- Install the Swft License plugin from your Swft dashboard’s downloads section.
- Activate it.
- Edit any product. You’ll see a new Swft License metabox.
Configuring a product
Section titled “Configuring a product”Pick one of four sources from the License source dropdown in the product metabox:
| Source | When to use | Where keys come from |
|---|---|---|
| Custom pool | You have a flat list of pre-generated keys. | Paste keys (one per line) into the metabox text area. Each order pulls the next unused key. |
| License Manager for WooCommerce | You’re already using LMFWC. | The plugin asks LMFWC for a key from the product’s configured pool on each order. |
| WC Software Add-On | You’re using WooCommerce’s official license add-on. | The plugin reads from WCSA’s standard meta. |
| Order meta field | You manually populate keys per-order from another system. | Specify the meta key name (e.g. _my_custom_license). The plugin reads that meta when surfacing the key. |
Save the product.
Customer experience
Section titled “Customer experience”When payment completes:
- The plugin assigns a license key to each licensed line item.
- The keys are stored in the order’s
_swft_license_keysmeta. - The Swft Checkout confirmation screen reads that meta and displays each key with a “Copy” button.
- The standard WooCommerce confirmation email also includes the keys at the bottom of the order detail.
How it works under the hood
Section titled “How it works under the hood”On woocommerce_payment_complete, the plugin iterates the order’s line items. For each item, it looks up the configured license source on the product, fetches a key, and stores it in the order meta keyed by line item ID. Custom pool fetches use a transient-based lock to prevent two simultaneous orders from picking up the same key.
The Swft API reads _swft_license_keys when serving the confirmation screen.
Gotchas
Section titled “Gotchas”- Source must be set per product. Products with no source assigned won’t receive a key, even if a pool exists for another product.
- Custom pool keys are consumed. If you run out, new orders won’t get keys until you paste more in. Monitor stock.
- License Manager and WC Software Add-On must be active when the order completes. If you deactivate them, the plugin can’t fetch keys.
- Refunded or cancelled orders don’t automatically release their consumed keys back to the pool. Manual recovery is required if you re-issue.
- Custom pool keys are stored in plain text in the database. If your keys are sensitive, prefer License Manager which encrypts at rest.