Gumroad allows verifying license keys via API calls to limit the usage of the keys. It can be helpful to prevent the redistribution of products like desktop apps.
Allow generating a unique license key per sale in product settings, and the product ID will be shown there. Below is the code snippet for verification.
try { const requestBody = new URLSearchParams(); requestBody.append('product_id', process.env.PRODUCT_ID); requestBody.append('license_key', process.env.LICENSE_KEY); requestBody.append('increment_uses_count', true); const response = await fetch('https://api.gumroad.com/v2/licenses/verify', { method: 'POST', body: requestBody, }); const data = await response.json(); if (data.purchase?.test) { console.log('Skipping verification for test purchase'); return; } const verificationLimit = Number(process.env.VERIFICATION_LIMIT); if (data.uses >= verificationLimit + 1) { throw new Error('Verification limit exceeded'); } if (!data.success) { throw new Error(data.message); } } catch (error) { if (error?.response?.status === 404) { console.log('License key doesn\'t exist'); return; } console.log('Verifying license key failed', error); }
Course
Build your SaaS in 2 weeks - Start Now
Top comments (0)