Quick Start Guide
Get your first checkout session running in under 5 minutes
API Reference & Live Testing
Explore the full API documentation and interactively test Checkout Session requests and responses.
Preview Checkout
Calculate pricing, taxes, and totals before creating a session.
Session Validity: Checkout sessions are valid for 24 hours by default. If you pass
confirm=true in your request, the session will only be valid for 15 minutes.Förutsättningar
1
Dodo Payments Account
Du behöver ett aktivt Merchant-konto hos Dodo Payments med API-åtkomst.
2
API Credentials
Generera dina API-autentiseringsuppgifter från Dodo Payments-dashboarden:
3
Products Setup
Skapa dina produkter i Dodo Payments-dashboarden innan du implementerar checkout-sessioner.
Skapa din första checkout-session
- Node.js SDK
- Python SDK
- REST API
API-svar
Alla metoder ovan returnerar samma svarsstruktur:Den genererade
checkout_url kan endast användas en gång och upphör att gälla inom 24 timmar. Cachelagra eller återanvänd den inte mellan kunder eller betalningsförsök — skapa en ny checkout-session när du behöver en ny länk.1
Get the checkout URL
Hämta
checkout_url från API-svaret.2
Redirect your customer
Skicka kunden till checkout-URL:en för att slutföra köpet.
3
Handle the return
Efter betalningen omdirigeras kunderna till din
return_url med query-parametrar som bland annat innehåller betalnings-/prenumerations-ID, status, kundens e-postadress och eventuella licensnycklar. Se dokumentationen för parametrarna för return_url för den fullständiga listan.Request Body
Required Fields
Obligatoriska fält som behövs för varje checkout-session
Optional Fields
Ytterligare konfiguration för att anpassa din checkout-upplevelse
Obligatoriska fält
array
obligatorisk
Array med produkter som ska ingå i checkout-sessionen. Varje produkt måste ha ett giltigt
product_id från din Dodo Payments-dashboard.Valfria fält
Konfigurera dessa fält för att anpassa checkout-upplevelsen och lägga till affärslogik i ditt betalningsflöde.Customer Information
Customer Information
object
Kundinformation. Du kan antingen koppla en befintlig kund med deras ID eller skapa en ny kundpost under checkout.
- Attach Existing Customer
- New Customer
Koppla en befintlig kund till checkout-sessionen med deras ID.
object
Faktureringsadress för korrekt skatteberäkning, bedrägeribekämpning och efterlevnad av regelverk.
När
confirm är inställd på true blir alla fält för faktureringsadress obligatoriska för att sessionen ska kunna skapas.Payment Configuration
Payment Configuration
array
Styr vilka betalningsmetoder som är tillgängliga för kunder under checkout. Detta hjälper dig att optimera för specifika marknader eller affärskrav.Tillgängliga alternativ:
credit, debit, upi_collect, apple_pay, google_pay, amazon_pay, klarna, affirm, afterpay_clearpay, cashapp, multibanco, bancontact_card, eps, ideal, przelewy24, paypalExempel:string
Åsidosätt det förvalda valutaalternativet med en fast faktureringsvaluta. Använder ISO 4217-valutakoder.Valutor som stöds:
USD, EUR, GBP, CAD, AUD, INR med fleraExempel: "USD" för amerikanska dollar, "EUR" för euroDetta fält fungerar endast när adaptiv prissättning är aktiverad. Om adaptiv prissättning är inaktiverad används produktens standardvaluta.
boolean
standard:"false"
Visa tidigare sparade betalningsmetoder för återkommande kunder och förbättra checkout-hastigheten och användarupplevelsen.
Session Management
Session Management
string
URL dit kunderna omdirigeras efter att betalningen har slutförts. Dodo Payments lägger till följande query-parametrar i din URL vid omdirigeringen:
Exempel på omdirigerings-URL:er:
string
URL dit kunderna omdirigeras när de klickar på bakåtknappen eller avbryter checkout-sessionen. Om den inte anges visas ingen bakåtknapp.
boolean
standard:"false"
Om true anges slutförs alla sessionsdetaljer omedelbart. API:et returnerar ett fel om obligatoriska uppgifter saknas.
array
Tillämpa en eller flera staplade rabattkoder på checkout-sessionen. Koderna tillämpas i arrayordning (den första koden minskar grundpriset, den andra minskar det redan rabatterade priset och så vidare), upp till högst 20 koder per session.
Det enskilda fältet
discount_code nedan är föråldrat men stöds fortfarande fullt ut — befintliga integrationer fortsätter att fungera utan ändringar. Det kan inte kombineras med discount_codes i samma request. Migrera till discount_codes när det passar för att dra nytta av stapling.string
föråldrad
Föråldrat — använd helst
discount_codes för nya integrationer. Detta fält fungerar fortfarande för bakåtkompatibilitet men kan inte kombineras med discount_codes i samma request.object
Egna nyckel-värde-par för lagring av ytterligare information om sessionen.
boolean
Åsidosätt handlarens standardbeteende för 3DS för den här sessionen.
boolean
standard:"false"
Aktivera läget för minimal adressinsamling. När det är aktiverat samlar checkout endast in:
- Land: Krävs alltid för skatteberäkning
- ZIP-/postnummer: Endast i regioner där det behövs för beräkning av sales tax, VAT eller GST
UI Customization & Features
UI Customization & Features
Custom Fields
Custom Fields
array
Samla in ytterligare information från kunder under checkout med anpassade formulärfält. Du kan definiera upp till 5 anpassade fält per checkout-session. Kundernas svar inkluderas i webhook-payloads och är tillgängliga via API:et.
Kundsvar på anpassade fält inkluderas i:
- Webhooks:
payment.succeeded,subscription.activeoch andra relevanta event-payloads innehåller arrayencustom_field_responses - API-svar: Betalnings- och prenumerationsobjekt innehåller
custom_field_responses
Subscription Configuration
Subscription Configuration
object
Ytterligare konfiguration för checkout-sessioner som innehåller prenumerationsprodukter.
Användningsexempel
Här är 10 omfattande exempel som visar olika konfigurationer av checkout-sessioner för olika affärsscenarier:1. Enkel checkout med en produkt
2. Varukorg med flera produkter
3. Prenumeration med provperiod
4. Förbekräftad checkout
När
confirm är inställd på true skickas kunden direkt till checkout-sidan utan bekräftelsesteg.5. Checkout med åsidosättning av valuta
Åsidosättningen
billing_currency börjar endast gälla när adaptiv valuta är aktiverad i dina kontoinställningar. Om adaptiv valuta är inaktiverad har denna parameter ingen effekt.6. Sparade betalningsmetoder för återkommande kunder
7. B2B-checkout med insamling av skatte-ID
8. Checkout med mörkt tema och staplade rabattkoder
9. Regionala betalningsmetoder (UPI för Indien)
Mer information om UPI-konfiguration och testning finns på sidan India Payment Methods.10. BNPL-checkout (Buy Now Pay Later)
Mer information om BNPL-konfiguration och testning finns på sidan Buy Now Pay Later (BNPL).11. Använda befintliga betalningsmetoder för direkt checkout
Använd en kunds sparade betalningsmetod för att skapa en checkout-session som behandlas omedelbart utan att samla in betalningsmetoden:Betalningsmetoden måste tillhöra kunden och vara kompatibel med betalningsvalutan. Detta möjliggör köp med ett klick för återkommande kunder.
12. Korta länkar för renare betalnings-URL:er
Generera förkortade, delningsbara betalningslänkar med anpassade sluggar:13. Hoppa över sidan för lyckad betalning med omedelbar omdirigering
Omdirigera kunderna omedelbart när betalningen har slutförts och hoppa över den förvalda sidan för lyckad betalning:När
redirect_immediately är aktiverad omdirigeras kunderna till din return_url omedelbart efter att betalningen har slutförts, och den förvalda sidan för lyckad betalning hoppas över helt.14. Tvinga ett språk
Tvinga checkout att visas på ett specifikt språk och åsidosätt kundens webbläsarspråk:ar), katalanska (ca), kinesiska (zh), nederländska (nl), engelska (en), franska (fr), tyska (de), hebreiska (he), indonesiska (id), italienska (it), japanska (ja), koreanska (ko), malajiska (ms), polska (pl), portugisiska (pt), rumänska (ro), ryska (ru), spanska (es), svenska (sv), thailändska (th), turkiska (tr)
15. Samla in anpassade fält
Samla in ytterligare information från kunder under checkout med anpassade fält:Svar på anpassade fält inkluderas automatiskt i webhook-payloads (
payment.succeeded, subscription.active med flera) och kan hämtas via API:et. Använd dem för att berika ditt CRM, utlösa onboarding-flöden eller anpassa kundupplevelsen.text, number, email, url, date, dropdown, boolean
Förhandsgranska checkout-sessioner
Innan du skapar en checkout-session kan du förhandsgranska prisuppdelningen inklusive skatter, rabatter och totalsummor. Detta är användbart för att visa korrekta priser för kunderna innan de går vidare till checkout.När kundvagnen innehåller en prenumerationsprodukt returnerar förhandsgranskningssvaret även en
next_billing_date — en förhandsgranskning av det kommande faktureringsdatumet, så att du kan visa det innan prenumerationen skapas. Det beräknas i förhållande till nu: now + trial period när en provperiod gäller, annars now + one payment frequency. Fältet utelämnas för kundvagnar som endast innehåller engångsprodukter. Detta är en uppskattning baserad på tidpunkten för förhandsgranskningen; det auktoritativa next_billing_date anges när prenumerationen aktiveras.Förhandsgranskningen returnerar även
trial_period_days (den effektiva provperiodens längd, kostnadsfri eller betald) och trial_amount (provperiodens avgift per enhet efter rabatter, i prisvalutans minsta enheter). trial_amount finns endast för en betald provperiod och är null för en kostnadsfri provperiod eller ingen provperiod. Använd current_breakup för den beskattade totalsumma som faktiskt ska betalas i dag.- Node.js SDK
- Python SDK
Preview API Reference
Visa den fullständiga dokumentationen för förhandsgransknings-endpointen.
Flytta från dynamiska länkar till checkout-sessioner
Viktiga skillnader
Tidigare, när du skapade en betalningslänk med Dynamic Links, behövde du ange kundens fullständiga faktureringsadress. Med checkout-sessioner är detta inte längre nödvändigt. Du kan helt enkelt skicka den information du har, så hanterar vi resten. Till exempel:- Om du endast känner till kundens faktureringsland anger du bara det.
- Checkout-flödet samlar automatiskt in de uppgifter som saknas innan kunden går vidare till betalningssidan.
- Om du däremot redan har all obligatorisk information och vill gå direkt till betalningssidan kan du skicka hela datamängden och inkludera
confirm=truei request body.
Migreringsprocess
Migreringen från Dynamic Links till checkout-sessioner är enkel:1
Update your integration
Uppdatera din integration så att den använder den nya API- eller SDK-metoden.
2
Adjust request payload
Justera request-payloaden enligt formatet för checkout-sessioner.
3
That's it!
Ja. Du behöver inte göra någon ytterligare hantering eller vidta några särskilda migreringssteg.
Relaterad API-referens
Create Checkout Session
Fullständig API-referens för att skapa checkout-sessioner med alla tillgängliga parametrar och alternativ
Preview Checkout Session
API-referens för att förhandsgranska priser, skatter och totalsummor innan en session skapas