Ö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 och 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:
- Å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.Customer opens checkout
Du kan öppna inline utcheckning genom att skicka artiklar eller en befintlig transaktion. Använd SDK för att visa och uppdatera information på sidan, och SDK-metoder för att uppdatera artiklar baserat på kundinteraktion.

Customer enters their details
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.
Customer selects payment method
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.

Checkout completed
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.

Snabbstart
Kom igång med Dodo Payments Inline Checkout på bara några rader kod:Steg-för-steg Integrationsguide
Initialize the SDK for Inline Display
Initiera SDK:n och ange
displayType: 'inline'. Du bör också lyssna på checkout.breakdown-händelsen för att uppdatera ditt användargränssnitt med realtidsberäkningar av skatt och totalsumma.Create a Container Element
Lägg till ett element i din HTML där checkout-ramen kommer att injiceras:
Open the Checkout
Anropa
DodoPayments.Checkout.open() med checkoutUrl och elementId från din container:Test Your 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 loggas i din webbläsarkonsol om du lade till en console.log i onEvent-callbacken.Komplett React Exempel
Detta exempel visar hur du implementerar en anpassad orderöversikt bredvid inline checkout och håller dem synkade med hjälp avcheckout.breakdown-händelsen.
API Referens
Konfiguration
Initieringsalternativ
| Alternativ | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
mode | "test" | "live" | Ja | Miljöläge. |
displayType | "inline" | "overlay" | Ja | Måste vara inställt på "inline" för att bädda in kassan. |
onEvent | function | Ja | Callbackfunktion för att hantera kassa-händelser. |
Checkoutalternativ
| Option | Type | Required | Description |
|---|---|---|---|
checkoutUrl | string | Yes | URL för utcheckningssessionen. |
elementId | string | Yes | id av DOM-elementet där utcheckningen ska renderas. |
options.showTimer | boolean | No | Visa eller dölj utcheckningstimern. Standard är true. När den är inaktiverad kommer du att få händelsen checkout.link_expired när sessionen går ut. |
options.showSecurityBadge | boolean | No | Visa eller dölja säkerhetsmärket. Standard är true. |
options.payButtonText | string | No | Användardefinierad text för betalknappen. |
options.fontSize | FontSize | No | Global teckenstorlek för utcheckningen. |
options.fontWeight | FontWeight | No | Global teckensnittsvikt för utcheckningen. |
Metoder
Öppna Checkout
Öppnar checkout-ramen i den angivna behållaren.Stäng Utcheckning
Avlägsnar programmatiskt utcheckningsramen och rensar upp händelselyssnare.Kontrollera Status
Returnerar om utcheckningsramen för närvarande är injicerad.Händelser
SDK:n tillhandahåller realtidshändelser genomonEvent-återkallningsfunktionen. För inline checkout är checkout.breakdown särskilt användbar för att synkronisera din UI.
| Händelsetyp | Beskrivning |
|---|---|
checkout.opened | Utcheckningsramen har laddats. |
checkout.form_ready | Utcheckningsformuläret är redo att mottaga användarinmatning. Användbart för att dölja laddningstillstånd och visa utchecknings-UI:en. |
checkout.breakdown | Skickas när priser, skatter eller rabatter uppdateras. |
checkout.customer_details_submitted | Kunduppgifter har skickats in. |
checkout.pay_button_clicked | Skickas när kunden klickar på betalknappen. Användbart för analys och spårning av konverteringstrattar. |
checkout.redirect | Utcheckningen kommer att utföra en omdirigering (t.ex. till en banksida). |
checkout.error | Ett fel uppstod under utcheckningen. |
checkout.link_expired | Skickas när utcheckningssessionen löper ut. Endast mottaget när showTimer är inställd på false. |
Utcheckningens Detaljer Data
checkout.breakdown-händelsen tillhandahåller följande data:
Förstå Händelsen Detaljer
checkout.breakdown-händelsen är det primära sättet att hålla din applikations UI synkroniserad med Dodo Payments utcheckningsstatus.
När den skickas:
- Vid initialisering: Omedelbart efter att utcheckningsramen har laddats och är redo.
- Vid adressändring: När kunden väljer ett land eller anger ett postnummer som leder till en skatteomräkning.
| Fält | Beskrivning |
|---|---|
subTotal | Summan av alla radartiklar i sessionen innan några rabatter eller skatter tillämpas. |
discount | Det totala värdet av alla tillämpade rabatter. |
tax | Den beräknade skattesumman. 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 kunden debiteras. Detta kan inkludera ytterligare valutajusteringar eller lokala betalningsmetodsavgifter som inte är en del av den grundläggande prisuppdelningen. |
finalTotalCurrency | Valutan i vilken kunden faktiskt betalar. Detta kan skilja sig från currency om köpkraftsparitet eller lokal valutaomvandling ä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 lämplig tiopotens) eller använd ett formateringsbibliotek som
Intl.NumberFormat. - Hantering av initiala tillstånd: När utcheckningen först laddas kan
taxochdiscountvara0ellernulltills användaren anger sina faktureringsuppgifter eller tillämpar en kod. Din UI ska hantera dessa tillstånd på ett smidigt sätt (t.ex. visa ett streck—eller dölja raden). - Den “slutliga summan” vs “totalsumman”: Medan
totalger dig den standardiserade priskalkylen, ärfinalTotalkällan till sanningen för transaktionen. OmfinalTotalär närvarande återspeglar det exakt vad som 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 utcheckningssida och minskar friktionen under adressinmatningssteget.
Implementeringsalternativ
Paketinstallation via Paket Manager
Installera via npm, yarn eller pnpm som det visas i Steg-för-steg-integreringsguiden.CDN-implementering
För snabb integration utan ett bygga-steg kan du använda vår CDN:Uppdatera Betalningsmetod
Inline utcheckning stödjer betalningsmetodsuppdateringar för prenumerationer. När en kund behöver uppdatera sin betalningsmetod - vare sig för en aktiv prenumeration eller för att återaktivera en pausad prenumeration - kan du representera uppdateringsflödet direkt inom din sidlayout.Hur det fungerar
- Anropa Uppdatera Betalningsmetod API för att få en
payment_link:
- Passera den returnerade
payment_linksomcheckoutUrlför att öppna inline utcheckning:
För Pausade Prenumerationer
När du uppdaterar betalningsmetoden för en prenumeration ion_hold status, skapar Dodo Payments automatiskt en debitering för eventuella återstående belopp. Övervaka payment.succeeded och subscription.active-webhooks för att bekräfta återaktivering.
Felhantering
SDK:n tillhandahåller detaljerad felinformation genom händelsesystemet. Implementera alltid korrekt felhantering i dinonEvent-återkallning:
Bästa Praxis
- Responsiv Design: Se till att ditt konteiner-element har tillräcklig bredd och höjd. Iframe kommer vanligtvis expandera för att fylla sin konteiner.
- Synkronisering: Använd
checkout.breakdown-händelsen för att hålla din anpassade orderöversikt eller prissättningstabeller synkroniserade med vad användaren ser i utcheckningsramen. - Skelettillstånd: Visa en laddningsindikator i din konteiner tills
checkout.opened-händelsen skickas. - Rensning: Anropa
DodoPayments.Checkout.close()när din komponent avmonteras för att rensa iframe och händelselyssnare.
För mörkertilståndimplementeringar rekommenderas det att använda
#0d0d0d som bakgrundsfärg för optimal visuell integration med inline utcheckningsram.Validering av Betalningsstatus
Varför Server-Sidig Validering Är Viktig
Även om inline utcheckningshändelser ger realtidsfeedback, bör de inte vara din enda sanningskälla för betalningsstatus. Nätverksproblem, webbläsarkrascher, eller användare som stänger sidan kan orsaka missade händelser. För att säkerställa tillförlitlig betalningsvalidering:- Din server bör lyssna på webhook-händelser - Dodo Payments skickar webhooks för betalningsstatusändringar
- Implementera en polllösning - Din frontend bör hålla koll på din server för statusuppdateringar
- Kombinera båda tillvägagångssätten - Använd webhooks som den primära källan och polling som en reservlösning
Rekommenderad Arkitektur
Implementeringssteg
1. Lyssna efter utcheckningshändelser - När användaren klickar på betala, börja förbereda för att verifiera statusen:payment.succeeded eller payment.failed webhooks. Se vår Webhook-dokumentation för detaljer.
Felsökning
Checkout frame is not appearing
Checkout frame is not appearing
- Verifiera att
elementIdmatcharidav endivsom faktiskt finns i DOM. - Se till att
displayType: 'inline'överlämnades tillInitialize. - Kontrollera att
checkoutUrlär giltig.
Taxes are not updating in my UI
Taxes are not updating in my UI
- Se till att du lyssnar på
checkout.breakdown-händelsen. - Skatter beräknas först efter att användaren angett ett giltigt land och postnummer i utcheckningsramen.
Aktivera Digitala Plånböcker
För detaljerad information om inställning av Apple Pay, Google Pay och andra digitala plånböcker, se sidan Digitala Plånböcker.Snabbinställning för Apple Pay
Download domain association file
Ladda ner Apple Pay domänassociationsfil.
Request activation
Skicka e-post till support@dodopayments.com med din produktionsdomän-URL och begär aktivering av Apple Pay.
Webbläsarstöd
Dodo Payments Checkout SDK stödjer följande webbläsare:- Chrome (senaste)
- Firefox (senaste)
- Safari (senaste)
- Edge (senaste)
- IE11+
Inline vs Overlay Checkout
Välj rätt utcheckningstyp för ditt användningsfall:| Funktion | Inline Checkout | Overlay Checkout |
|---|---|---|
| Integrationsdjup | Fullt inbäddad på sidan | Modal ovanpå sidan |
| Layout-kontroll | Full kontroll | Begränsad |
| Branding | Sömlös | Separat från sidan |
| Implementeringsinsats | Högre | Lägre |
| Bäst för | Anpassade utcheckningssidor, flöden med hög konvertering | Snabb integration, befintliga sidor |
Relaterade Resurser
Overlay Checkout
Använd overlay checkout för snabb modal-baserad integration.
Checkout Sessions API
Skapa utcheckningssessioner för att driva dina utcheckningsupplevelser.
Webhooks
Hantera betalningshändelser server-side med webhooks.
Integration Guide
Komplett guide till integration av Dodo Payments.
