
Checkout Sessions
Tillämpa en eller flera staplade koder under värdkassan med
discount_codes och UI-kontroller.Validate Discount
Check if a discount is valid by its ID.
Get Discount by Code
Look up and validate a discount using its code name (e.g., “SAVE20”).
Create Discount (API)
Programmatically create new discount codes.
List & Update Discounts
Bläddra och hantera befintliga rabatter; uppdatera eller ta bort vid behov.
Plan Change Discounts
Tillämpa rabattkoder vid uppgradering eller nedgradering av prenumerationsplaner.
Vad är Rabattkoder?
Rabattkoder är kampanjtoken som minskar ordersummorna i kassan. De är idealiska för:- Säsongskampanjer: Black Friday, produktlanseringar eller jubileer
- Förvärvserbjudanden: Första-köp incitament eller belöningar vid hänvisningar
- Behållande: Återvinnings- eller lojalitetsbelöningar för befintliga kunder
- B2B-erbjudanden: Avtalade eller förhandlade priser via privata koder
Viktiga Fördelar
- Flexibla rabatter: Procentbaserade rabatter eller rabatter med fast belopp
- Kombinerbara koder: Tillämpa upp till 20 koder per checkout, betalning eller prenumeration — kombinera kampanjer (t.ex.
WELCOME10+BLACKFRIDAY20) utan att skapa specialanpassade koder - Målinriktad kontroll: Begränsa efter produkt, prenumerationscykler och kundberättigande
- Kampanjstyrning: Schemalagda startdatum, utgångsdatum samt användningsgränser totalt och per kund
- Prissättning per valuta: Ange det fasta avdraget, beloppsgränsen och minsta delsumma per valuta
- Smidig checkout: UI-fält och API-stöd via checkout sessions
Skapa Rabattkoder
Skapa rabattkoder i din Dodo Payments-instrumentpanel och tillämpa dem sedan i värdad kassa eller via API.
Konfigurera i dashboarden
- Discount Name (obligatoriskt): Internt namn och visningsnamn i dashboarden
- Code (obligatoriskt): Strängen som kunder anger i checkout, eller generera en slumpmässig kod med den angivna knappen
- Type (obligatoriskt): Välj Percentage (procentuell rabatt) eller Amount (fast avdrag)
- Amount (obligatoriskt): Procentvärdet eller det fasta beloppet för en Amount-rabatt
- Start Date (valfritt): Schemalägg när koden ska aktiveras; lämna tomt för att aktivera den omedelbart
- Expiration Date (valfritt): Datum efter vilket koden blir ogiltig
- Usage Limit (valfritt): Maximalt totalt antal inlösningar för alla kunder
- Per-Customer Usage Limit (valfritt): Maximalt antal inlösningar för en enskild kund. Måste vara mindre än eller lika med den totala användningsgränsen när båda anges
- Customer Eligibility (valfritt): Begränsa vilka som får lösa in koden — alla kunder, förstagångskunder, befintliga kunder eller en manuellt vald lista
- Currency Options (valfritt): Värden per valuta — se Alternativ per valuta
- Product Restriction (valfritt): Begränsa giltigheten till valda produkter
- Subscription Cycle Limit (valfritt): Antalet faktureringscykler som rabatten gäller för
- Preserve on Plan Change (valfritt): Behåll rabatten aktiv när prenumerationens plan ändras (
preserve_on_plan_change) - Metadata (valfritt): Lägg till anpassade nyckel–värde-par för intern spårning eller integrationer



En procentuell
amount uttrycks i basis points via API:t — 1500 betyder 15 %. Ett fast amount är ett penningvärde och anges enligt kodens valutaalternativ.Rabattmetoder
Båda typerna kan kombineras i samma
discount_codes-array och tillämpas i arrayens ordning.

Kundberättigande
Angecustomer_eligibility för att styra vilka som får lösa in en kod:

Alternativ per valuta
Med valutaalternativ kan en kod fungera korrekt för alla valutor du säljer i. Varje post anger följande för en enskild valuta:- Amount — för en Amount-rabatt är detta själva avdraget; för en Percentage-rabatt anger det hur mycket koden maximalt kan dra av. Mappas till
max_amount_possiblevia API:t. - Minimum subtotal — koden tillämpas endast när varukorgen når denna delsumma.
0betyder att det inte finns något minimum. - Default — en post kan markeras som standard, så att andra, ej konfigurerade valutor konverteras från den.

Minsta delsumma beräknas alltid utifrån varukorgens ursprungliga priser, aldrig utifrån den löpande totalsumman mitt i en kombination. Ordningen för kombinationen påverkar därför aldrig om ett minimum uppnås.
Checkout-upplevelse
- Kunder anger koden i checkout-fältet.
- Berättigade rabatter tillämpas och totalsummorna uppdateras omedelbart.

I Checkout Sessions skickar du
discount_codes (en array) för att förtillämpa en eller flera koder. Fältet för rabattinmatning visas som standard — feature_flags.allow_discount_code har som standard värdet true, så ange false endast om du vill dölja det. Koderna tillämpas i arrayens ordning, upp till högst 20.Kombinera rabattkoder
Checkout sessions, betalningar och prenumerationer accepterar upp till 20 kombinerade koder viadiscount_codes-arrayen (högst 20 poster). Koder tillämpas i arrayens ordning, så att den första berättigade koden först sänker grundpriset, nästa kod sänker det redan rabatterade priset och så vidare. Den fullständiga uppsättningen tillämpade rabatter returneras i svaret under discount_ids (för betalningar/prenumerationer) och discounts (rikare information per rabatt, inklusive position och återstående prenumerationscykler).
Det singulara
discount_code-fältet är föråldrat men har fortfarande fullt stöd för bakåtkompatibilitet — befintliga integrationer fortsätter att fungera utan ändringar. Det kan inte kombineras med discount_codes i samma begäran. Vi rekommenderar att du migrerar till discount_codes (array-formatet) när det passar, även för enstaka koder, för att dra nytta av kombinationer och den rikare svarsstrukturen.API-hantering
Create discounts
Create discounts
Skapa rabattkoder programmatiskt med typ och belopp.
API Reference
Visa API:t för att skapa rabatter.
List and retrieve
List and retrieve
Lista alla rabatter eller hämta detaljer för hantering och granskning.
API Reference
Bläddra bland API:er för listning och hämtning.
Get discount by code
Get discount by code
Slå upp en rabatt med dess läsbara kod (t.ex. “SAVE20”) i stället för det interna ID:t.
API Reference
Hämta rabatt efter kodnamn.
Update discounts
Update discounts
Ändra rabattkonfigurationen, till exempel belopp, utgångsdatum eller begränsningar.
API Reference
Läs om hur du uppdaterar rabattdetaljer.
Validate discounts
Validate discounts
Kontrollera om en rabatt är giltig och kan tillämpas innan den används.
API Reference
Validera rabattanvändning.
Delete discounts
Delete discounts
Inaktivera eller ta bort rabatter som inte längre behövs.
API Reference
Ta bort en rabatt.
Manage the customer allow list
Manage the customer allow list
För en rabatt där
customer_eligibility är inställt på specific hanterar du de kunder som får lösa in den:GET /discounts/{discount_id}/customers— lista de tillagda kunderna (paginering, upp till 100 per sida).POST /discounts/{discount_id}/customers— lägg till kunder efter ID. Anropet är idempotent och accepterar upp till 1 000 ID:n, som alla redan måste finnas i ditt företag. Svaret innehåller endast de ID:n som skickades i den begäran, så använd endpointen för listning för att läsa hela allow-listan.DELETE /discounts/{discount_id}/customers/{customer_id}— ta bort en enskild kund.
Vanliga användningsområden
- Introduktionserbjudanden: Tidsbegränsade lanseringskampanjer för nya produkter
- Bulk eller B2B: Avtalsbaserade rabatter för utvalda produktuppsättningar
- Kundbevarande: Win-back-koder i arbetsflöden för att förebygga kundbortfall
- Säsongskampanjer: Högtids- eller evenemangsbaserade kampanjer
Integrationsexempel
Skapa en rabatt med metadata
Lägg till anpassade nyckel–värde-par för intern spårning.Tillämpa rabatter i Checkout Sessions
Förtillämpa en eller flera kombinerade rabatter och visa UI:t för kodinmatning.Tillämpa rabatter vid planändringar
Erbjud kampanjpriser när kunder uppgraderar eller nedgraderar sin prenumeration.Läs alla tillämpade rabatter från prenumerationen via den nya
discounts-arrayen i prenumerationssvaret. Varje post innehåller discount_id, position, cycles_remaining (för prenumerationer) och den ursprungliga koden.Dölj fältet för rabattkod
Fältet för rabattinmatning visas som standard, så kunder kan alltid ange en kod utan att du skickar med en i förväg. Angeallow_discount_code till false för att dölja fältet helt.
Bästa praxis
- Namnge tydligt: Använd igenkännbara koder som överensstämmer med kampanjnamnen
- Tidsbegränsa: Lägg till utgångsdatum för att skapa brådska och förhindra missbruk
- Avgränsa klokt: Begränsa till specifika produkter för att undvika marginalförluster
- Validera tidigt: Kontrollera kodens giltighet innan checkout bekräftas
- Övervaka effekten: Följ användning och konvertering per kampanj
Rabattkoder är kraftfulla verktyg för kundanskaffning och kundbevarande. Börja med enkla erbjudanden med tydliga namn, validera noggrant och iterera utifrån resultatet.