Översikt
Inline checkout låter dig skapa fullt integrerade checkout-upplevelser som smälter samman med din webbplats eller applikation. Till skillnad från overlay checkout, som öppnas som en modal ovanpå din sida, integrerar inline checkout betalningsformuläret direkt i din sidlayout. Med inline checkout kan du:- Skapa checkout-upplevelser som är helt integrerade med din app eller webbplats
- Låta Dodo Payments säkert fånga kund- och betalningsinformation i en optimerad checkout-ram
- Visa artiklar, totalsummor och annan information från Dodo Payments på din sida
- Använda SDK-metoder och händelser för att bygga avancerade checkout-upplevelser

Hur Det Fungerar
Inline checkout fungerar genom att integrera en säker Dodo Payments-ram i din webbplats eller app. Checkout-ramen hanterar insamling av kundinformation och fångar betalningsdetaljer. Din sida visar artikellistan, totalsummor och alternativ för att ändra vad som finns i checkout. SDK:n låter din sida och checkout-ramen interagera med varandra. Dodo Payments skapar automatiskt en prenumeration när en checkout är klar, redo för dig att tillhandahålla.Inline checkout-ramen hanterar säkert all känslig betalningsinformation, vilket säkerställer PCI-efterlevnad utan ytterligare certifiering från din sida.
Vad Gör En Bra Inline Checkout?
Det är viktigt att kunderna vet vem de köper från, vad de köper och hur mycket de betalar. För att bygga en inline checkout som är efterlevande och optimerad för konvertering måste din implementation inkludera:
Exempel på inline checkout-layout som visar nödvändiga element
- Återkommande information: Om det är återkommande, hur ofta det återkommer och den totala summan att betala vid förnyelse. Om det är en provperiod, hur länge provperioden varar.
- Artikelbeskrivningar: En beskrivning av vad som köps.
- Transaktionstotalsummor: Transaktionstotalsummor, inklusive delsumma, total skatt och grand total. Se till att inkludera valutan också.
- Dodo Payments-fotnot: Den fullständiga inline checkout-ramen, inklusive checkout-fotnoten som har information om Dodo Payments, våra försäljningsvillkor och vår integritetspolicy.
- Återbetalningspolicy: En länk till din återbetalningspolicy, om den skiljer sig från Dodo Payments standardåterbetalningspolicy.
Kundresa
Checkout-flödet bestäms av din checkout-sessionkonfiguration. Beroende på hur du konfigurerar checkout-sessionen kommer kunderna att uppleva en checkout som kan presentera all information på en enda sida eller över flera steg.1
Kund öppnar checkout
Du kan öppna inline checkout genom att skicka varor eller en befintlig transaktion. Använd SDK:n för att visa och uppdatera information på sidan, och SDK-metoder för att uppdatera varor baserat på kundinteraktion.

2
Kund anger sina uppgifter
Inline checkout ber först kunderna att ange sin e-postadress, välja sitt land och (där det krävs) ange sitt postnummer. Detta steg samlar all nödvändig information för att bestämma skatter och tillgängliga betalningsalternativ.Du kan förfylla kunduppgifter och presentera sparade adresser för att effektivisera upplevelsen.
3
Kund väljer betalningsmetod
Efter att ha angett sina uppgifter presenteras kunderna med tillgängliga betalningsmetoder och betalningsformuläret. Alternativ kan inkludera kredit- eller betalkort, PayPal, Apple Pay, Google Pay och andra lokala betalningsmetoder baserat på deras plats.Visa sparade betalningsmetoder om de finns tillgängliga för att snabba upp checkout.

4
Checkout slutförd
Dodo Payments dirigerar varje betalning till den bästa förvärvaren för den försäljningen för att få bästa möjliga chans till framgång. Kunderna går in i ett framgångsflöde som du kan bygga.

5
Dodo Payments skapar prenumeration
Dodo Payments skapar automatiskt en prenumeration för kunden, redo för dig att tillhandahålla. Betalningsmetoden som kunden använde hålls på fil för förnyelser eller ändringar av prenumerationen.

Snabbstart
Kom igång med Dodo Payments Inline Checkout på bara några rader kod:Steg-för-steg Integrationsguide
1
Installera SDK:n
Installera Dodo Payments Checkout SDK:
2
Initiera SDK:n för Inline Display
Initiera SDK:n och specificera
displayType: 'inline'. Du bör också lyssna efter checkout.breakdown händelsen för att uppdatera din UI med realtidsberäkningar av skatt och totalsumma.3
Skapa ett Behållarelement
Lägg till ett element i din HTML där checkout-ramen kommer att injiceras:
4
Öppna Checkout
Anropa
DodoPayments.Checkout.open() med checkoutUrl och elementId för din behållare:5
Testa Din Integration
- Starta din utvecklingsserver:
- Testa checkout-flödet:
- Ange din e-post och adressuppgifter i inline-ramen.
- Verifiera att din anpassade ordersammanfattning uppdateras i realtid.
- Testa betalningsflödet med testuppgifter.
- Bekräfta att omdirigeringar fungerar korrekt.
Du bör se
checkout.breakdown händelser loggade i din webbläsarkonsol om du har lagt till en konsol logg i onEvent callback.6
Gå Live
När du är redo för produktion:
- Ändra läget till
'live':
- Uppdatera dina checkout-URL:er för att använda live checkout-sessioner från din backend.
- Testa hela flödet i produktion.
Komplett React Exempel
Detta exempel visar hur man implementerar en anpassad ordersammanfattning tillsammans med inline checkout, och håller dem synkroniserade medcheckout.breakdown händelsen.
API Referens
Konfiguration
Initieringsalternativ
| Alternativ | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
mode | "test" | "live" | Ja | Miljöläge. |
displayType | "inline" | "overlay" | Ja | Måste sättas till "inline" för att bädda in checkout. |
onEvent | function | Ja | Callback-funktion för att hantera checkout-händelser. |
Checkoutalternativ
| Alternativ | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
checkoutUrl | string | Ja | Checkout-sessionens URL. |
elementId | string | Ja | Den id av DOM-elementet där checkouten ska renderas. |
options.showTimer | boolean | Nej | Visa eller dölja checkout-timern. Standardinställningen är true. När den är inaktiverad kommer du att få checkout.link_expired-händelsen när sessionen går ut. |
options.showSecurityBadge | boolean | Nej | Visa eller dölja säkerhetsmärket. Standardinställningen är true. |
options.manualRedirect | boolean | Nej | När den är aktiverad kommer checkouten inte att omdirigera automatiskt efter slutförande. Istället kommer du att få checkout.status och checkout.redirect_requested-händelser för att hantera omdirigeringen själv. |
options.payButtonText | string | Nej | Anpassad text som ska visas på betalningsknappen. |
Metoder
Öppna Checkout
Öppnar checkout-ramen i den angivna behållaren.manualRedirect, hantera slutförandet av kassan i din onEvent-callback:
Stäng Kassa
Tar bort kassa-ramen programatiskt och städar upp händelselyssnare.Kontrollera Status
Returnerar om kassa-ramen för närvarande är injicerad.Händelser
SDK:n tillhandahåller realtids-händelser genomonEvent-callback. För inline-kassa är checkout.breakdown särskilt användbar för att synkronisera din UI.
| Händelsetyp | Beskrivning |
|---|---|
checkout.opened | Kassa-ramen har laddats. |
checkout.breakdown | Utlöst när priser, skatter eller rabatter uppdateras. |
checkout.customer_details_submitted | Kundens uppgifter har skickats. |
checkout.redirect | Kassa kommer att utföra en omdirigering (t.ex. till en bank-sida). |
checkout.error | Ett fel inträffade under kassan. |
checkout.link_expired | Utlöst när kassa-sessionen går ut. Endast mottagen när showTimer är inställd på false. |
checkout.status | Utlöst när manualRedirect är aktiverad. Innehåller kassa-status (succeeded, failed, eller processing). |
checkout.redirect_requested | Utlöst när manualRedirect är aktiverad. Innehåller URL:en för att omdirigera kunden till. |
Kassa Brytdata
checkout.breakdown-händelsen tillhandahåller följande data:
Kassa Status Händelsedata
NärmanualRedirect är aktiverad, får du checkout.status-händelsen med följande data:
Kassa Omdirigering Begärd Händelsedata
NärmanualRedirect är aktiverad, får du checkout.redirect_requested-händelsen med följande data:
Förstå Brytdata Händelsen
checkout.breakdown-händelsen är det primära sättet att hålla din applikations UI synkroniserad med Dodo Payments kassa-status.
När den utlöses:
- Vid initialisering: Omedelbart efter att kassa-ramen har laddats och är redo.
- Vid adressändring: När kunden väljer ett land eller anger ett postnummer som resulterar i en skatteberäkning.
| Fält | Beskrivning |
|---|---|
subTotal | Summan av alla linjeposter i sessionen innan några rabatter eller skatter tillämpas. |
discount | Det totala värdet av alla tillämpade rabatter. |
tax | Det beräknade skattebeloppet. I inline-läge uppdateras detta dynamiskt när användaren interagerar med adressfälten. |
total | Det matematiska resultatet av subTotal - discount + tax i sessionens basvaluta. |
currency | ISO-valutakoden (t.ex. "USD") för standard subtotal, rabatt och skattevärden. |
finalTotal | Det faktiska beloppet som kunden debiteras. Detta kan inkludera ytterligare valutajusteringar eller lokala betalningsmetodavgifter som inte ingår i den grundläggande prisberäkningen. |
finalTotalCurrency | Valutan som kunden faktiskt betalar. Detta kan skilja sig från currency om köpkraftsparitet eller lokal valutakonvertering är aktiv. |
- Valutaformatering: Priser returneras alltid som heltal i den minsta valutaenheten (t.ex. cent för USD, yen för JPY). För att visa dem, dela med 100 (eller den lämpliga tiopotensen) eller använd ett formateringsbibliotek som
Intl.NumberFormat. - Hantering av initiala tillstånd: När kassan först laddas kan
taxochdiscountvara0ellernulltills användaren anger sin faktureringsinformation eller tillämpar en kod. Din UI bör hantera dessa tillstånd smidigt (t.ex. visa en dash—eller dölja raden). - “Slutgiltigt totalbelopp” vs “Total”: Medan
totalger dig den standardprisberäkningen, ärfinalTotalkällan till sanning för transaktionen. OmfinalTotalär närvarande, återspeglar det exakt vad som kommer att debiteras kundens kort, inklusive eventuella dynamiska justeringar. - Realtidsfeedback: Använd
tax-fältet för att visa användare att skatter beräknas i realtid. Detta ger en “live”-känsla till din kassa-sida och minskar friktionen under adressinmatningssteget.
Implementeringsalternativ
Paketmanagerinstallation
Installera via npm, yarn eller pnpm som visas i Steg-för-steg integrationsguiden.CDN-implementering
För snabb integration utan byggsteg kan du använda vår CDN:Temaanpassning
Du kan anpassa utseendet på kassan genom att skicka ettthemeConfig objekt i options parametern när du öppnar kassan. Temakonfigurationen stöder både ljusa och mörka lägen, vilket gör att du kan anpassa färger, kanter, text, knappar och kantradie.
Grundläggande temakonfiguration
Komplett temakonfiguration
Alla tillgängliga temaegenskaper:Endast ljus läge
Om du bara vill anpassa det ljusa temat:Endast mörkt läge
Om du bara vill anpassa det mörka temat:Partiell temaupphävning
Du kan åsidosätta endast specifika egenskaper. Kassan kommer att använda standardvärden för egenskaper som du inte specificerar:Temakonfiguration med andra alternativ
Du kan kombinera temakonfiguration med andra kassaval:TypeScript-typer
För TypeScript-användare exporteras alla temakonfigurationstyper:Felhantering
SDK:n tillhandahåller detaljerad felinformation genom händelsessystemet. Implementera alltid korrekt felhantering i dinonEvent callback:
Bästa praxis
- Responsiv design: Se till att ditt behållarelement har tillräcklig bredd och höjd. Iframe kommer vanligtvis att expandera för att fylla sin behållare.
- Synkronisering: Använd
checkout.breakdownhändelsen för att hålla din anpassade ordersammanfattning eller prissättningstabeller synkroniserade med vad användaren ser i kassa-ramen. - Skeletttillstånd: Visa en laddningsindikator i din behållare tills
checkout.openedhändelsen utlöses. - Rengöring: Anropa
DodoPayments.Checkout.close()när din komponent avmonteras för att städa upp iframen och händelselyssnare.
För implementationer av mörkt läge rekommenderas det att använda
#0d0d0d som bakgrundsfärg för optimal visuell integration med inline-kassa-ramen.Felsökning
Kassa-ramen visas inte
Kassa-ramen visas inte
- Verifiera att
elementIdmatcharidav endivsom faktiskt finns i DOM. - Se till att
displayType: 'inline'skickades tillInitialize. - Kontrollera att
checkoutUrlär giltig.
Skatter uppdateras inte i min UI
Skatter uppdateras inte i min UI
- Se till att du lyssnar på
checkout.breakdownhändelsen. - Skatter beräknas endast efter att användaren anger ett giltigt land och postnummer i kassa-ramen.
Aktivera Apple Pay
Apple Pay gör det möjligt för kunder att slutföra betalningar snabbt och säkert med sina sparade betalningsmetoder. När det är aktiverat kan kunder starta Apple Pay-modalen direkt från kassaöverlägget på stödda enheter.Apple Pay stöds på iOS 17+, iPadOS 17+ och Safari 17+ på macOS.
1
Ladda ner och ladda upp Apple Pay domänassocieringsfilen
Ladda ner Apple Pay domänassocieringsfilen.Ladda upp filen till din webbserver på
/.well-known/apple-developer-merchantid-domain-association. Till exempel, om din webbplats är example.com, gör filen tillgänglig på https://example.com/well-known/apple-developer-merchantid-domain-association.2
Begär aktivering av Apple Pay
E-posta [email protected] med följande information:
- Din produktionsdomän-URL (t.ex.
https://example.com) - Begäran om att aktivera Apple Pay för din domän
Du kommer att få bekräftelse inom 1-2 arbetsdagar när Apple Pay har aktiverats för din domän.
3
Verifiera tillgänglighet för Apple Pay
Efter att ha fått bekräftelse, testa Apple Pay i din kassa:
- Öppna din kassa på en stödd enhet (iOS 17+, iPadOS 17+ eller Safari 17+ på macOS)
- Verifiera att Apple Pay-knappen visas som ett betalningsalternativ
- Testa hela betalningsflödet
Webbläsarstöd
Dodo Payments Checkout SDK stöder följande webbläsare:- Chrome (senaste)
- Firefox (senaste)
- Safari (senaste)
- Edge (senaste)
- IE11+
Inline vs Overlay Checkout
Välj rätt kassatyp för ditt användningsfall:| Funktion | Inline Checkout | Overlay Checkout |
|---|---|---|
| Integrationsdjup | Helt inbäddad i sidan | Modal ovanpå sidan |
| Layoutkontroll | Full kontroll | Begränsad |
| Branding | Sömlös | Separat från sidan |
| Implementeringsinsats | Högre | Lägre |
| Bäst för | Anpassade kassasidor, högkonverterande flöden | Snabb integration, befintliga sidor |
Relaterade resurser
Overlay Checkout
Använd overlay checkout för snabb modalbaserad integration.
Checkout Sessions API
Skapa kassasessioner för att driva dina kassaupplevelser.
Webhooks
Hantera betalningsevenemang server-side med webhooks.
Integrationsguide
Komplett guide för att integrera Dodo Payments.