Axnify
För mjukvaruutvecklare

En ecommerce-plattform byggd för att sälja mjukvarulicenser

Generering av licensnycklar. Aktiveringsgränser per licens. Trial-to-paid-konvertering. Giltighetsperioder med grace-fönster. Kundportal där köpare kan inaktivera maskiner och se sitt nyckelbibliotek. Allt inbyggt — inga Gumroad-avgifter, inga 8,9% FastSpring, inget custom licensing-lager att bygga.

Varför att sälja mjukvara är fundamentalt annorlunda än att sälja fysiska varor

Att sälja en t-shirt och att sälja en desktop-app för £200 har ungefär ingenting gemensamt operationellt. T-shirten har en SKU, ett lagersaldo, en frakttvikt och en returpolicy. Desktop-appen har en licensnyckel, en activation server, en gräns för antal maskiner, en giltighetsperiod, ett grace-fönster efter utgång, en trial-to-paid-konverteringsväg, en uppgraderingsstege (individuell → team → enterprise) och en kundportal där köpare hanterar aktiva installationer på sina enheter. Inget av dessa koncept finns i en generisk ecommerce-plattforms produktmodell.

Plattformarna som FÖRSTÅR mjukvara — Gumroad, FastSpring, Paddle, Lemon Squeezy — finns just på grund av detta gap. De träffar licensieringsprimitiverna rätt, men de tar betalt för det. Gumroad tar 10% på varje försäljning på free tier och 8% även på betald. FastSpring tar 8,9% som merchant-of-record. Paddle är liknande. På en £100-licens är det £8–£10 till plattformen — multiplicera med 1000 sålda licenser och du har gett £8000–£10000 till Gumroad för bekvämligheten att inte bygga din egen checkout. Det räcker för att finansiera ett par månader av din indie dev-runway.

Axnify är ett tredje alternativ: ecommerce-plattformsavgifter (1,5% på Starter, sjunkande till 0% på Enterprise) med licensförsäljningsprimitiverna inbyggda. Inbyggd licensprodukttyp. Konfigurerbara maxaktiveringar per licens. Giltighetsperiod med grace-dagar. Trial-period innan billing slår in. Auto-renew-toggle. Self-service upgrade-pool. Webhooks på varje licenshändelse (köp, aktivering, inaktivering, utgång, förnyelse) så att du kan integrera din egen licensserver, signing service eller feature-flag-system som du vill. Du behåller din checkout, ditt branding, din kundrelation och över 99% av intäkterna.

Varför mjukvaruutvecklare lämnar Gumroad / FastSpring / Paddle

Plattformsavgifter staplas genom hela kundens livscykel

Initial försäljning: 10% till Gumroad. Förnyelse ett år senare: 10% igen. Uppgradering från individuell till team: 10% på differensen. Över en kunds livstid kan du förlora över 30% av LTV på enbart plattformsavgifter. De flesta indie-devs modellerar inte detta och blir överraskade när de gör det.

Generering av licensnycklar är vanligtvis custom-jobb

De flesta ecommerce-plattformar har inte ens konceptet om en licensnyckel. Att sälja mjukvara betyder att skriva din egen nyckelgenerering, maskinaktivering, giltighetsspårning och kundportal — varje dev som gjort detta vet att det är en månads arbete som inte har något att göra med själva produkten.

Trial-to-paid-konvertering är trasig

Generiska plattformar stödjer antingen inga trials, eller stödjer bara fri-frakt-trial för fysiska varor. Att sälja ett £49-plugin med 14-dagars trial betyder ett separat trial-managementsystem, ett separat email-workflow, en separat licensutgivning — allting du bygger istället för att shippa features.

Återbetalningar och licensåterkallelse blir röriga

Kunden begär återbetalning 25 dagar efter köpet. Hans licensnyckel är fortfarande i hans app, fungerar fortfarande. På de flesta plattformar triggar inte återbetalningsflödet licensåterkallelse — det är en separat operation du måste komma ihåg, och att glömma det betyder att du i praktiken gett bort mjukvaran.

Vad du får med Axnify

Inbyggda licensförsäljningsprimitiver — inbyggda i kärnan av produktmodellen, inte fastskruvade som en app.

Inbyggd `license`-produkttyp

Sätt produkttypen till `license` och adminet avslöjar licensspecifika fält: maxaktiveringar, giltighetsdagar, grace-period, trial-dagar, auto-renew-flagga, upgrade-pool. Samma produktlista som dina andra produkter; samma temaeditor; samma checkout. Mjukvara är bara ännu en produkttyp.

Maxaktiveringar per licens

Konfigurera hur många maskiner en enskild licens kan installeras på (1 för personal, 3 typiskt, obegränsat för site-licenser). Aktiveringar spåras via din licensserver som pingar vår webhook vid varje installation; vi räknar mot gränsen och vägrar aktiveringar över den.

Giltighetsperioder med grace-dagar

Sätt en licens till att gälla N dagar från köp (t.ex. 365 för en årslicens) plus en grace-period efter utgång (standard 7 dagar). Kunden får påminnelsemail före utgången. Mjukvaran fortsätter fungera under grace-perioden för att undvika störningar under retries av förnyelsebetalningen.

Trial-period före billing

Gratis trial i X dagar före första debiteringen. Kunden anger kortet i förväg; plattformen debiterar inte förrän trialen slutar. Avbokning under trial = rent register, ingen debitering. Konvertering till betald = första debiteringen på trial-slutdagen, licens utgiven.

Återkommande eller engångslicenser

Kombinera produkttypen `license` med intervallet `subscription` (månatligt/årligt) för återkommande licenser i JetBrains-stil. Eller sälj perpetuella licenser utan intervall. Samma produktmodell, båda lägen stöds.

Self-service uppgraderingsstege

Individuell → Team → Enterprise. Definiera vilka produkter som är giltiga uppgraderingsmål per licens; kunden ser dem i sin portal med pro rata uppgraderingspris. Gammal licens inaktiveras, ny licens aktiveras, ingen support-ticket behövs.

Kundens licensportal

Kunden loggar in på sitt konto, ser alla aktiva licenser, nuvarande aktiveringsräknare per licens, kan inaktivera en maskin (t.ex. ny laptop) för att frigöra en aktiveringsslot, se betalningshistorik, byta sparat kort, avsluta auto-renew.

Webhooks på varje licenshändelse

`license.created`, `license.activated`, `license.deactivated`, `license.expiring` (7 dagar i förväg), `license.expired`, `license.renewed`, `license.upgraded`, `license.refunded`. Träffa din egen licensserver eller signing service på de händelser som spelar roll för dig.

Arkitektur: hur Axnify integreras med din befintliga licensserver

De flesta indie-devs har redan en liten licensserver — typiskt en jätteliten Go/Node/Python-tjänst som håller source of truth om vilka nycklar som är aktiva, vilka maskiner de är bundna till och vilka feature flags de låser upp. Frågan vid adoption av en ecommerce-plattform: hur pratar de två systemen med varandra?

Axnify tar webhooks-och-API-ansatsen. Vid köp avfyrar Axnify `license.created` med kundens email, produkt-ID, licenstyp, maxaktiveringar och giltighetsperiod. Din licensserver tar emot webhooken, genererar en nyckel (i vilket format och signeringsschema du föredrar), lagrar den mot kunden och returnerar den i responsen. Axnify lagrar nyckeln på ordern, skickar den till kunden via email och visar den i kundens portal.

Från kundens app går aktiveringsanrop till din licensserver (du behåller kontrollen över runtime-stigen). När en maskin aktiveras kan din server pinga Axnifys API för att höja aktiveringsräknaren och kontrollera gränsen. Vid inaktivering samma flow omvänt. Logik för licensutgång och grace-period kan leva på vilken sida som helst; vi rekommenderar att hålla datumen på Axnify (single source of truth för billing) och låta din server fråga API:et om status. Om du inte har en licensserver än kan Axnify också vara source of truth ensam: generera HMAC-signerade nycklar inbyggt, spåra aktiveringar genom API:et och kalla `license.activated` / `license.deactivated`-webhooks på dina in-app aktiveringshändelser. Bra startpunkt för indie-devs som vill shippa på en vecka istället för att bygga licensieringsinfrastruktur i en månad; du kan senare flytta upp till din egen licensserver genom att byta aktiveringsendpointet utan att återutge nycklar.

Vad utvecklare säljer på Axnify

Desktopapplikationer

Mac-, Windows-, Linux-appar. Licensnyckel utgiven vid köp, validerad av din in-app aktivering. Max 3 maskiner per personlig licens, obegränsat för team. Trial-to-paid-konvertering med 14-dagars gratis trial.

Plugins och tillägg

Figma-plugins, VSCode-tillägg, Sketch-plugins, Photoshop-actions, Lightroom-presets. Ofta sålda som engångs perpetuella licenser med valfri 1-årig uppdateringsåtkomst med förnyelserabatt.

Teman, mallar, typsnitt

WordPress-teman, Shopify-teman, Notion-mallar, typsnittsfamiljer. Stegvis licensiering (single-site / 5-sites / obegränsat; personlig / kommersiell / extended). Licenstypen avgör vilka nedladdningar kunden kan komma åt.

Self-hosted SaaS

Sälj en licens för en on-premises-version av din SaaS. Licensen validerar varje installation via din activation server; utgång stoppar feature-uppdateringar men låter den befintliga installationen fortsätta köras (klassisk perpetual fallback-modell).

1,5% plattformsavgift på Starter vs 10% på Gumroad

På en £100-licens behåller du £98,50 på Axnify Starter vs £90 på Gumroad. Vid 100 licenser sålda per månad är det £850 i månatlig skillnad — tillräckligt för att finansiera betydande dev-tid. På Enterprise-tier (0% plattformsavgift, £299/mån abonnemang) betalar du Axnify effektivt en fast taxa oberoende av volym.

Se fullständiga priser

Vanliga frågor från mjukvaruutvecklare

Hur genereras licensnycklar?

Två alternativ. (1) Inbyggt: Axnify genererar HMAC-signerade nycklar i ett konfigurerbart format (UUID, hex, custom prefix). (2) Ta med din egen: Axnify avfyrar en webhook vid köp med kund + produktdetaljer, din licensserver genererar nyckeln i ditt format och signeringsschema, returnerar den via webhook-responsen. I bägge fall når nyckeln kunden via samma leveransflöde.

Kan jag integrera min egen licensserver?

Ja — det är den rekommenderade vägen för all icke-trivial mjukvara. Prenumerera på webhooks `license.created` och `license.refunded` för utgivning och återkallelse. Använd Axnify API för att höja/sänka aktiveringsräknaren från ditt in-app aktiveringsflöde. Om du inte har en licensserver än är Axnifys inbyggda HMAC-signerade nyckelgenerering och aktiveringsspårning nog för att shippa — du kan senare flytta till din egen server utan att återutge nycklar.

Vad händer när en licens går ut?

Konfigurerbart. Licensen går in i en grace-period (standard 7 dagar) där mjukvaran fortsätter fungera men kunden får påminnelsemail om förnyelse. Efter grace avfyrar `license.expired`. Din mjukvara (via activation servern) kan då bestämma: fullt lockout, read-only-läge, downgrade till free tier, eller fortsätta utan uppdateringar. Många indie-devs väljer att fortsätta utan uppdateringar av goodwill.

Kan kunder inaktivera en maskin för att installera på en ny?

Ja — inbyggt i kundportalen. De ser aktiva aktiveringar (med maskin-fingeravtryck / OS där du har rapporterat dem), kan återkalla vilken som helst, vilket frigör aktiveringsslot. `license.deactivated` avfyrar så att din licensserver kan ogiltigförklara den återkallade nyckeln lokalt.

Stöder ni floating eller concurrent licenser?

Inte inbyggt än — `max_activations` är totalt antal seats, inte samtidiga. Floating-licens-tvång (bara N aktiva samtidigt, andra i kö) finns på roadmappen. Om det är ett hårt krav för din produkt idag kan du implementera samtidighetskontrollen i din egen licensserver via aktiveringswebhooks, men Axnify-adminet visar det inte än som ett first-class koncept.

Vad är plattformsavgiften på mjukvaruförsäljningar?

Samma som allt annat: 1,5% på Starter, 0,75% på Pro, 0,25% på Business, 0% på Enterprise. Stripes processeringsavgifter gäller ovanpå oavsett. På en £100-licens får du £97 netto efter båda avgifterna på Starter — vs £88-£91 på Gumroad / Paddle / FastSpring.

Kan ni hjälpa mig att flytta min data från en annan plattform?

Absolut. Maila support@axnify.com med exportfilen från din nuvarande plattform — vi accepterar Shopify, WooCommerce, Etsy, Squarespace, Big Cartel, Gumroad, Sellfy och de flesta andra vanliga formaten. Vårt team sköter migreringen av dina produkter, varianter, kunder och ordrar end-to-end, gratis för standardimporter.

Sluta betala 10% för att sälja din mjukvara

Börja gratis. Inbyggda licensnycklar, aktiveringsspårning, trial-to-paid-konvertering — allt från dag ett.