How buyers get their key
Emailed to the buyer the moment payment completes
Code changes needed
The standard license check
A customer buys your plugin package on your Tebex store.
Tebex sends a Payment Completed webhook to MC License.
MC License generates a license key using your plugin's default settings, such as expiry and server limit.
The key is emailed to the address the buyer used at checkout, along with instructions for activating it. Email delivery is included at no extra cost.
The license appears on your dashboard as a normal managed license you can view, edit, disable, or revoke at any time.
In the Tebex creator panel, open Webhooks and copy your webhook secret key.
Paste the secret into the Keys page of the MC License dashboard. It generates an endpoint that looks like https://api.mclicense.org/tebex/[userid].
Back on the Tebex webhooks page, click Add Endpoint, paste that URL, and make sure the Payment Completed type is checked.
Create a plugin in the dashboard using your Tebex Package ID.
Step-by-step screenshots are in the Tebex setup guide.
Why email instead of injecting the key?
Tebex doesn't support inserting placeholders into downloadable files, so there is no way to put the key inside the jar the way BuiltByBit and Voxel Shop allow. Emailing it straight from the purchase webhook means the buyer still has a working key before they have even finished downloading.
Marketplace automation doesn't need any Tebex-specific code. Add the library and validate on enable, exactly as you would for any plugin.
1. Add the library
<repository>
<id>flyte-repository-releases</id>
<url>https://repo.flyte.gg/releases</url>
</repository>
<dependency>
<groupId>org.mclicense</groupId>
<artifactId>library</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>2. Validate in onEnable
@Override
public void onEnable() {
if (!MCLicense.validateKey(this, "yourPluginId")) {
Bukkit.getPluginManager().disablePlugin(this);
return;
}
// Licensed: load the rest of your plugin as normal
}3. Your customer pastes their key into the mclicense.txt file the library creates. On BuiltByBit and Voxel Shop it's already in the jar they download.
Automation issues licenses for legitimate purchases, which is almost all of them. Refunds and chargebacks don't disable a license automatically, and moving a key to a different buyer is still a manual edit. Both take one click from your dashboard. Read how marketplace automation works for the full picture.
Instantly. The key is generated as soon as Tebex reports the payment as completed, and the email is sent straight away. There is no polling delay.
To the email address the buyer used at Tebex checkout. The email includes instructions for activating the key in your plugin, so you don't have to answer "where do I put my key?" support tickets.
The license is not disabled automatically. Keep an eye on refund notices and disable the license from your dashboard, which takes one click.
No. The integration in your plugin is the standard MC License license check, exactly the same as for any other plugin.
Stop generating keys by hand
Create an account, link your Tebex store, and let every sale license itself.
Sell somewhere else too?