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:session_id garanteras finnas med. Två fall returnerar ytterligare eller färre fält:
payment_method_idangavs — debiteringen behandlas omedelbart ochcheckout_urlärnull. Använd i stället den returneradepayment_id.confirm: trueskapade betalningen när sessionen skapades — svaret innehåller ävenpayment_id,client_secretochpublishable_keyför användning med Dodo Payments checkout SDK.
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 frågeparametrar som bland annat innehåller betalnings-/prenumerations-ID, status, kundens e-postadress och eventuella licensnycklar. Se dokumentationen för parametrarna i return_url för en fullständig lista.Request Body
Required Fields
Obligatoriska fält som behövs för varje checkout-session
Optional Fields
Ytterligare konfiguration för att anpassa checkout-upplevelsen
Obligatoriska fält
array
obligatorisk
Array med produkter som ska inkluderas 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, förebyggande av bedrägerier och efterlevnad av regelverk.
När
confirm anges till 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.Vanliga alternativ:
credit, debit, upi_collect, apple_pay, google_pay, amazon_pay, klarna, affirm, afterpay_clearpay, cashapp, ach, multibanco, bancontact_card, eps, ideal, blik, paypal. Detta är inte hela uppsättningen – se API-referensen för Create Checkout Session för alla accepterade värden.Exempel:string
Åsidosätt standardvalet av valuta med en fast faktureringsvaluta. Använder ISO 4217-valutakoder.Valutor som stöds:
USD, EUR, GBP, CAD, AUD, INR och flerExempel: "USD" för amerikanska dollar, "EUR" för euroDetta fält har endast effekt 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, vilket förbättrar 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 frågeparametrar i din URL vid omdirigering:
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 slutförs alla sessionsuppgifter omedelbart. API:t genererar 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), med 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 begäran. Migrera till discount_codes när det passar för att kunna använda stapling.string
föråldrad
Föråldrat — använd helst
discount_codes för nya integrationer. Fältet fungerar fortfarande av bakåtkompatibilitetsskäl men kan inte kombineras med discount_codes i samma begäran.object
Egna nyckel-värde-par för att lagra ytterligare information om sessionen.
boolean
Åsidosätt handlarens standardbeteende för 3DS för denna session.
boolean
standard:"false"
Aktivera läget för insamling av minimal adress. När det är aktiverat samlar checkout endast in:
- Land: Alltid obligatoriskt för skattebestämning
- ZIP-/postnummer: Endast i regioner där det behövs för beräkning av sales tax, VAT eller GST
string
En sparad betalningsmetod som tillhör den kopplade kunden. Kräver
confirm: true och en befintlig customer.customer_id. När den anges behandlas debiteringen omedelbart och checkout_url returneras som null — använd i stället den returnerade payment_id.boolean
standard:"false"
Om true returneras en förkortad checkout-URL i stället för den fullständiga sessions-URL:en.
string
Produktinsamlings-ID för den samlingsbaserade checkout-processen.
string
Skatte-ID för kunden (till exempel ett VAT-nummer). Kräver
billing_address med en country.string
Valfritt företags- eller juridiskt namn som är kopplat till skatte-ID:t. När det anges tillsammans med en giltig
tax_id visas det på fakturan i stället för kundens personliga namn.integer
Åsidosätt handlarens mandatgolv på nivå för INR (i paise) för INR-e-mandat på indiska kort.
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:t.
Kundernas svar på anpassade fält inkluderas i:
- Webhooks:
payment.succeeded,subscription.activeoch andra relevanta händelsepayloads 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 anges till true skickas kunden direkt till checkout-sidan, förbi alla bekräftelsesteg.5. Checkout med åsidosättning av valuta
Åsidosättningen
billing_currency får endast effekt när adaptiv valuta är aktiverad i kontoinställningarna. 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)
Detaljerad information om konfiguration och testning av UPI finns på sidan India Payment Methods.10. BNPL-checkout (Buy Now Pay Later)
Detaljerad information om konfiguration och testning av BNPL finns på sidan Buy Now Pay Later (BNPL).11. Använda befintliga betalningsmetoder för omedelbar checkout
Använd en kunds sparade betalningsmetod för att skapa en checkout-session som behandlas omedelbart och hoppa över insamlingen av betalningsmetod: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 direkt efter att betalningen har slutförts och hoppa över standardsidan för lyckad betalning:När
redirect_immediately är aktiverat omdirigeras kunderna till din return_url direkt efter att betalningen har slutförts, vilket helt hoppar över standardsidan för lyckad betalning.14. Tvinga fram ett språk
Tvinga checkout att visas på ett specifikt språk och åsidosätt kundens webbläsarbaserade språkinställning: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 och så vidare) och kan hämtas via API:t. 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 varukorgen 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 varukorgar som endast innehåller engångsköp. Detta är en uppskattning baserad på tiden 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 (debiteringen per enhet under provperioden 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 idag.- Node.js SDK
- Python SDK
Preview API Reference
Visa den fullständiga dokumentationen för förhandsgranskningsendpointen.
Flytta från Dynamic Links till Checkout Sessions
Viktiga skillnader
Tidigare, när du skapade en betalningslänk med Dynamic Links, var du tvungen att ange kundens fullständiga faktureringsadress. Med Checkout Sessions ä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 bara känner till kundens faktureringsland anger du bara det.
- Checkout-flödet samlar automatiskt in de uppgifter som saknas innan kunden skickas till betalningssidan.
- Om du däremot redan har all obligatorisk information och vill hoppa direkt till betalningssidan kan du skicka hela datauppsättningen och inkludera
confirm=truei request body.
Migreringsprocess
Att migrera från Dynamic Links till Checkout Sessions är enkelt:1
Update your integration
Uppdatera din integration så att den använder den nya API- eller SDK-metoden.
2
Adjust request payload
Anpassa request payload enligt formatet för Checkout Sessions.
3
That's it!
Ja. Inga ytterligare åtgärder eller särskilda migreringssteg krävs från din sida.
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