TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Alternatives to Gumroad for "software licenses"?

25 pointsby grodriguez10011 months ago
I am looking for alternatives to Gumroad to sell “software licenses” &#x2F; “activation codes” &#x2F; “serial numbers” online.<p>I have seen several similar platforms that focus on selling digital assets (files) but not activation codes.<p>I could either upload a list of pregenerated codes to the platform, or have the platform generate the codes with an API to validate them. Both would be fine.<p>I need that the platform acts as a merchant of record (to handle VAT in different countries). This basically means that the platform would be invoicing users, and I would be invoicing the platform.<p>I would also need to be able to translate the product description to different languages (this is something that Gumroad cannot do — they force you to create different products) and also support EUR as a currency.<p>What solutions have you worked with?

7 comments

neontomo11 months ago
It&#x27;s not clear from your post, have you tried Gumroads API? They have an endpoint for verifying licenses that works nicely.<p><pre><code> curl https:&#x2F;&#x2F;api.gumroad.com&#x2F;v2&#x2F;licenses&#x2F;verify \ -d &quot;product_id=SDGgCnivv6gTTHfVRfUBxQ==&quot; \ -d &quot;license_key=YOUR_CUSTOMERS_LICENSE_KEY&quot; \ -X POST </code></pre> Example in React&#x2F;TS:<p><pre><code> const checkLicenseKeyWithGumroad = async (licenseKey: string) =&gt; { try { const isValidLicenseRequest = await axios.post( process.env.GUMROAD_VERIFY_URL as string, { product_id: &#x27;SDGgCnivv6gTTHfVRfUBxQ==&#x27;, license_key: licenseKey?.trim() } ) const isValidLicense = isValidLicenseRequest?.data?.success ? true : false return isValidLicense } catch (error) { console.log(`Error checking license key: ${error}`) return false }</code></pre> }<p>For your language issue, you could self-host the platform and only run purchases through Gumroad. This is how I do it.
评论 #40770092 未加载
billconan11 months ago
<a href="https:&#x2F;&#x2F;docs.lemonsqueezy.com&#x2F;help&#x2F;licensing" rel="nofollow">https:&#x2F;&#x2F;docs.lemonsqueezy.com&#x2F;help&#x2F;licensing</a> (I&#x27;ve never used it myself)
评论 #40762129 未加载
评论 #40761226 未加载
GVRV11 months ago
Long term HN user @ezekg also runs this <a href="https:&#x2F;&#x2F;keygen.sh&#x2F;" rel="nofollow">https:&#x2F;&#x2F;keygen.sh&#x2F;</a> if that might suit your needs (i.e. if you want to separate out licensing logic from the payment logic)
评论 #40769895 未加载
devwastaken11 months ago
Highly recommend implementing accounts for your software and licensing through that, as well as making some features of your app online only (server side), even if they don&#x27;t have to be.<p>If your software becomes commercially successful it will eventually get cracked and many corps will use that because licensing in an org setting is messy and who wants to ask for software or deal with the red tape?
fuzztester11 months ago
&gt;also support EUR as a currency.<p>Doesn&#x27;t Gumroad support EU (I assume you mean Euro) as a currency?<p>EU &amp; UK VAT on Gumroad<p><a href="https:&#x2F;&#x2F;help.gumroad.com&#x2F;article&#x2F;10-dealing-with-vat" rel="nofollow">https:&#x2F;&#x2F;help.gumroad.com&#x2F;article&#x2F;10-dealing-with-vat</a>
评论 #40793796 未加载
DarrenDev11 months ago
Fastspring or Paddle.
评论 #40767566 未加载
42lux11 months ago
Steam?