Den här handledningen innehåller exempel på implementationskod för en Node.js/Express-applikation. Du kan anpassa koden till din specifika ram (Next.js, React, Vue osv.) och skräddarsy användargränssnittet efter din applikations behov.
- Skapar prenumerationsprodukter med platsbaserad prissättning
- Ställer in tillägg för ytterligare platser
- Genererar betalningslänkar med anpassade tilläggsmängder
- Hanterar kassa-sessioner med dynamiska platsantal
Vad vi bygger
Låt oss skapa en platsbaserad prissättningsmodell:- Basplan: 49 USD/månad för upp till 5 teammedlemmar
- Plats-tillägg: 2 USD/månad per ytterligare plats
- Betalningslänkar: Dynamisk kassa med anpassade platsmängder
Innan vi börjar, se till att du har:
- Ett Dodo Payments-konto
- Grundläggande kunskaper om TypeScript/Node.js
Steg 1: Skapa ditt plats-tillägg
Nu behöver vi skapa ett tillägg som representerar ytterligare platser. Detta tillägg kommer att kopplas till vår basprenumeration och tillåta kunder att köpa ytterligare platser.
Navigate to Add-Ons
- I din Dodo Payments-instrumentpanel, håll dig kvar i avsnittet Products
- Klicka på fliken Add-Ons
- Klicka på Create Add-On
Enter add-on details
Fyll i de här värdena för vårt plats-tillägg:Add-On Name:
Additional Team SeatDescription: Add extra team members to your workspace with full access to all featuresPrice: Enter → 2.00Valuta: Måste matcha din basprenumerationsvalutaSkattekategori: Välj lämplig kategori för din produkt.Steg 2: Skapa din basprenumerationsprodukt
Vi börjar med att skapa en basprenumerationsprodukt som inkluderar 5 teammedlemmar. Detta kommer att vara grunden för vår platsbaserade prissättningsmodell.
Navigate to Products
- Logga in på din Dodo Payments-instrumentpanel
- Klicka på Products i vänstra sidomenyn
- Klicka på knappen Create Product
- Välj Subscription som produkttyp
Steg 3: Koppla tillägg till prenumeration
Nu behöver vi koppla vårt plats-tillägg till basprenumerationen så att kunder kan köpa ytterligare platser under kassan.Attach the seat add-on

- Scrolla ner till sektionen Tillägg
- Klicka på Lägg till Tillägg
- Välj ditt plats-tillägg från rullgardinsmenyn
- Bekräfta att det visas i din prenumerationskonfiguration
Steg 4: Generera betalningslänkar med anpassade tilläggsmängder
Nu låt oss skapa en Express.js-applikation som genererar betalningslänkar med anpassade tilläggsmängder. Det är här den verkliga kraften i platsbaserad prissättning kommer in - du kan dynamiskt skapa kassa-sessioner med vilket antal ytterligare platser som helst.Set up your project
Skapa ett nytt Node.js-projekt och installera nödvändiga beroenden:Skapa en
tsconfig.json-fil:Add a simple web interface
Skapa en
public/index.html-fil för enkel testning:Webbgränssnitt skapat! Du har nu ett enkelt UI för att testa olika antal platser.
Steg 5: Testa din implementation
Låt oss testa vår platsbaserade prissättningsimplementation för att säkerställa att allt fungerar korrekt.Start your server
- Se till att du har din
.env-fil med korrekt API-nyckel - Uppdatera produkt- och tilläggs-ID:n i din kod med de faktiska värdena från din Dodo Payments-instrumentpanel
- Starta din server:
Din server bör starta utan problem och visa “Server running on http://localhost:3000”
Test the web interface

- Öppna din webbläsare och gå till
http://localhost:3000 - Du bör se demonstrationen för platspreiser
- Testa olika antal platser (0, 3, 10 osv.)
- Klicka på “Generate Checkout Link” för varje antal
- Bekräfta att checkout-URL:erna genereras korrekt
Test a checkout session
- Generera en checkout-länk med 3 extra platser
- Klicka på checkout-URL:en för att öppna Dodo Payments-checkouten
- Bekräfta att checkouten visar:
- Basplan: $49/månad
- Extra platser: 3 × 2 dollar = $6/månad
- Slutför testköpet
Checkouten bör visa rätt prissammanställning och tillåta dig att slutföra köpet.
Listen for webhooks and update your DB
För att hålla din databas synkroniserad med prenumerations- och platsändringar behöver du lyssna på webhook-händelser från Dodo Payments. Webhooks meddelar din backend när en kund slutför checkout, uppdaterar sin prenumeration eller ändrar platsantal.Följ den officiella Dodo Payments-webhookguiden för steg-för-steg-instruktioner om hur du ställer in webhook-slutpunkter och hanterar händelser:
Dodo Payments Webhooks Documentation
Lär dig hur du säkert tar emot och behandlar webhook-händelser för prenumerations- och plats-hantering.
Felsökning
Vanliga problem och deras lösningar:Checkout creation failing
Checkout creation failing
Möjliga orsaker:
- Ogiltigt produkt-ID eller tilläggs-ID
- API-nyckeln har inte tillräckliga behörigheter
- Tillägget är inte korrekt kopplat till prenumerationen
- Problem med nätverksanslutningen
- Verifiera att produkt- och tilläggs-ID:n finns i din Dodo Payments-instrumentpanel
- Kontrollera att tillägget är korrekt kopplat till prenumerationen
- Säkerställ att API-nyckeln har behörighet att skapa checkout-sessioner
- Testa API-anslutningen med en enkel GET-förfrågan
Grattis! Du har implementerat platsbaserad prissättning
Du har framgångsrikt skapat ett system för platsbaserad prissättning med Dodo Payments! Här är vad du har åstadkommit:Base Subscription
Skapade en prenumerationsprodukt med 5 inkluderade platser för $49/månad
Seat Add-ons
Konfigurerade tillägg för extra platser för $2/månad per plats
Checkout
Byggde ett API som genererar checkout-sessioner med anpassade platsantal
Web Interface
Skapade ett enkelt webbgränssnitt för att testa olika platsantal
Detta exempel visar endast en minimal implementation av platsbaserad prissättning. För produktion bör du lägga till robust felhantering, autentisering, datavalidering, säkerhetsåtgärder och anpassa logiken efter din applikations behov.