
Checkout Sessions
Get Discount
Get Discount by Code
Create Discount (API)
List & Update Discounts
Plan Change Discounts
Vad är Rabattkoder?
Rabattkoder är kampanjtokens som minskar ordersumman i Checkout. Använd dem för säsongskampanjer, incitament vid första köpet, återvinningskampanjer eller förhandlade B2B-priser. Koderna är procentbaserade (t.ex. 15 % rabatt) eller baserade på ett fast belopp (t.ex. 5 $ rabatt). Du kan kombinera upp till 20 koder per Checkout, betalning eller prenumeration, så att en kund kan lösa in både ett välkomsterbjudande och en kampanjkod i samma transaktion. Begränsa koder till specifika produkter, ange hur många gånger varje kund får använda dem, ange utgångsdatum och styr vem som får lösa in dem.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
- Riktad kontroll: Begränsa efter produkt, prenumerationscykler och kundberättigande
- Kampanjstyrning: Schemalagda startdatum, utgångsdatum samt övergripande användningsgränser och gränser per kund
- Prissättning per valuta: Ange det fasta avdraget, beloppsgränsen och minimisumman per valuta
Skapa Rabattkoder
Skapa rabattkoder i din Dodo Payments-instrumentpanel och tillämpa dem sedan i värdad kassa eller via API.
Konfiguration i Dashboard
- Discount Name (obligatoriskt): Intern etikett för dashboarden.
- Code (obligatoriskt): Strängen som kunder anger i kassan. Generera en slumpmässig kod eller ange en egen (minst 3 tecken, automatiskt konverterad till versaler).
- Type (obligatoriskt): Percentage (en procentuell rabatt) eller Amount (ett fast avdrag).
- Amount (obligatoriskt): För percentage, procentvärdet för rabatten i dashboarden (t.ex.
15för 15 %). Via API är samma värde i basis points (1500). För amount, det fasta avdraget i kodens standardvaluta. - Start Date (valfritt): Schemalägg när koden ska aktiveras i framtiden. Lämna tomt för att aktivera den omedelbart.
- Expiration Date (valfritt): Datum efter vilket koden inte längre kan lösas in.
- Usage Limit (valfritt, under Advanced): Maximalt totalt antal inlösningar för alla kunder. En multi-subscription cart räknas som en inlösning.
- Per-Customer Usage Limit (valfritt, under Advanced): Maximalt antal inlösningar för en enskild kund. Måste vara mindre än eller lika med den övergripande 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): Rabattbeloppet för varje valuta du säljer i. Se Per-Currency Options.
- Product Restriction (valfritt): Begränsa koden till specifika produkter.
- Subscription Cycle Limit (valfritt, under Advanced): Antalet faktureringscykler som rabatten gäller för. Lämna tomt för obegränsad giltighet.
- Preserve on Plan Change (valfritt): Behåll rabatten aktiv när en prenumeration byter plan (
preserve_on_plan_change). - Metadata (valfritt): Lägg till anpassade nyckel–värde-par för intern spårning.
- Require a minimum order value (valfritt, under Advanced): Minsta delsumma för varukorgen (per valuta) för att koden ska gälla.


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.Rabatttyper
Båda typerna kan kombineras i samma
discount_codes-array och tillämpas i arrayens ordning.

Kundbehörighet
Angecustomer_eligibility för att styra vilka som får lösa in en kod:

Valutaalternativ
När du säljer i flera valutor anger du beteendet per valuta för varje kod. Under Valutaalternativ anger varje post:- Belopp — för en beloppsrabatt, det fasta avdraget i valutan; för en procentbaserad rabatt, den maximala rabattgränsen. Mappas till
max_amount_possiblei API:t. - Standard — markera en valuta som standardvaluta. Valutor utan konfiguration konverteras från denna standardvaluta.
- Minsta delsumma — koden tillämpas endast när kundvagnen når denna delsumma i den valutan.
0betyder att ingen miniminivå gäller.

Den minsta delsumman mäts alltid mot varukorgens ursprungliga priser, inte mot det löpande totalbeloppet efter tidigare rabatter i kedjan. Ordningen för stapling ändrar aldrig om ett minimibelopp har uppnåtts.För en prenumeration kontrolleras minimibeloppet en gång mot produkten och dess tillägg tillsammans. Exempelvis uppfyller en produkt för $0 med ett tillägg på $5 ett minimibelopp på $4. En kod av typen Amount (
flat) gäller fortfarande endast prenumerationsprodukten, inte dess tillägg.Checkout Experience
Kunder anger rabattkoder i checkout-fältet. Berättigade koder tillämpas omedelbart och totalbeloppen uppdateras.
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. Ange feature_flags.allow_discount_code till false för att dölja det. Koder tillämpas i arrayens ordning, upp till högst 20.Stapla rabattkoder
Checkout sessions, payments och subscriptions accepterar upp till 20 staplade koder via arrayendiscount_codes. Koderna tillämpas i arrayens ordning: den första berättigade koden reducerar startpriset, nästa reducerar det redan rabatterade priset och så vidare. När Purchasing Power Parity är aktiverat är startpriset det PPP-justerade beloppet. Svaret innehåller discount_ids (för payments/subscriptions) och discounts (mer detaljer per rabatt, inklusive position och återstående prenumerationscykler).
Det singulära fältet
discount_code är föråldrat men stöds fullt ut för bakåtkompatibilitet. Det kan inte kombineras med discount_codes i samma request. Migrera till discount_codes (array-formen) för att dra nytta av stapling och det mer detaljerade svaret.För ett prenumerationspris där Card-Optional at Zero Price är aktiverat hoppar en kodstack som reducerar beloppet som ska betalas idag hela vägen till
0 även över kortkravet — kunden genomför köpet utan någon sparad betalningsmetod, på samma sätt som för ett inbyggt 0-pris.API-hantering
Create discounts
Create discounts
Skapa rabattkoder programmatiskt med typ och belopp.
API Reference
List and retrieve
List and retrieve
Lista alla rabatter eller hämta detaljer för hantering och granskning.
API Reference
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
Update discounts
Update discounts
Ändra rabattkonfigurationen, till exempel belopp, utgångsdatum eller begränsningar.
API Reference
Retrieve a discount
Retrieve a discount
Hämta en rabatt med dess ID för att kontrollera status, användningsantal och begränsningar innan den tillämpas.
API Reference
Delete discounts
Delete discounts
Inaktivera eller ta bort rabatter som inte längre behövs.
API Reference
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 kopplade kunderna (paginering, upp till 100 per sida).POST /discounts/{discount_id}/customers— koppla kunder via ID. Anropet är idempotent och accepterar upp till 1 000 ID:n, som alla måste finnas i ditt företag sedan tidigare. Svaret återger endast de ID:n som skickades i den requesten, så lista endpointen för att läsa hela allow list.DELETE /discounts/{discount_id}/customers/{customer_id}— koppla från en enskild kund.
Vanliga användningsfall
- Introduktionserbjudanden: Tidsbegränsade lanseringskampanjer för nya produkter
- Volym eller B2B: Avtalade rabatter för utvalda produktuppsättningar
- Kundbevarande: Återvinningskoder i arbetsflöden för att förebygga churn
- Säsongskampanjer: Högtids- eller evenemangsbaserade kampanjer
Integreringsexempel
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 staplade rabatter och visa gränssnittet för kodinmatning.Tillämpa rabatter vid planändringar
Erbjud kampanjpriser när kunder uppgraderar eller nedgraderar sin prenumeration.discount_codes styr hur rabatter hanteras:
Läs alla tillämpade rabatter från prenumerationens array
discounts i svaret. Varje post innehåller discount_id, position, cycles_remaining och den ursprungliga koden.Dölj fältet för rabattkod
Rabattinmatningen visas som standard. Angeallow_discount_code till false för att dölja den.
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.
- Begränsa klokt: Begränsa till specifika produkter för att undvika marginalförlust.
- Validera tidigt: Kontrollera kodens giltighet innan du bekräftar checkout.
- Övervaka påverkan: Följ användning och konvertering per kampanj.