Quay

Sell license keys

Sell a license key and let your app ask if it is still good.

A license product issues one key per paid order. You can generate keys or upload a pool. POST /api/v1/licenses/validate tells your software whether that key is valid, revoked, or for a different product.

Issue the key

Create a license product and choose generated keys or a pool you upload. One key leaves with each order. The buyer sees it on the delivery page that arrives by email. A refund marks that key revoked.

The same store can also sell the download that the key unlocks. The key and the file travel with the order. Quay does not phone home from your desktop app by itself. Your app calls the validate endpoint.

Check it from your app

The validate route accepts a code and a product id. Responses use a status: valid, unknown, revoked, unused, or product_mismatch. Unused means the code is still in the pool and has not been sold. There is no seat count, no machine fingerprint, and no offline signed license in this version.

If you need those controls, keep them in your own software and use Quay for the sale, the key, and the revocation that follows a refund.

Take payment on your Stripe account

The charge is a direct charge on the connected account you onboard. Harbor’s application fee is optional on that charge and is configured for the server. Studio is a monthly plan if you want the lower fee. Connect Stripe before a buyer can pay a real card.

Related

Questions

Can I upload keys I already minted?

Yes. A pool hands out the next unused code. One code per order. A code that has not been sold returns unused from the validate route.

Does a refund disable the key?

Yes. Refunding the order marks issued keys revoked. The validate route then reports revoked. A charge.refunded webhook does the same thing when the refund starts in Stripe.

Open a storeSee Harbor and StudioAll guides