Översikt
Dodo Payments Checkout SDK erbjuder ett sömlöst sätt att integrera vår betalningsoverlay i din webbapplikation. Byggd med TypeScript och moderna webbstandarder, erbjuder den en robust lösning för att hantera betalningar med realtids-händelsehantering och anpassningsbara teman.
Demo
Interaktiv Demo
Se overlay checkout i aktion med vår live-demo.
Snabbstart
Kom igång med Dodo Payments Checkout SDK på bara några rader kod:Steg-för-steg Integrationsguide
1
Installera SDK:n
Installera Dodo Payments Checkout SDK med din föredragna paketförvaltare:
2
Initiera SDK:n
Initiera SDK:n i din applikation, vanligtvis i din huvudkomponent eller appens ingångspunkt:
3
Skapa en Checkout-knappskomponent
Skapa en komponent som öppnar checkout-overlayen:
4
Lägg till Checkout på din sida
Använd checkout-knappskomponenten i din applikation:
5
Hantera framgångs- och misslyckandesidor
Skapa sidor för att hantera checkout-omdirigeringar:
6
Testa din integration
- Starta din utvecklingsserver:
- Testa checkout-flödet:
- Klicka på checkout-knappen
- Verifiera att overlayen visas
- Testa betalningsflödet med testuppgifter
- Bekräfta att omdirigeringar fungerar korrekt
Du bör se checkout-händelser loggade i din webbläsares konsol.
7
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
- Övervaka händelser och fel
API Referens
Konfiguration
Initieringsalternativ
| Alternativ | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
mode | "test" | "live" | Ja | Miljöläge: 'test' för utveckling, 'live' för produktion |
displayType | "overlay" | "inline" | Nej | Visningstyp: 'overlay' för modal checkout (standard), 'inline' för inbäddad checkout |
onEvent | function | Ja | Callback-funktion för att hantera checkout-händelser |
Checkout-alternativ
| Alternativ | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
checkoutUrl | string | Ja | Checkout-sessionens URL från create checkout session API |
options.showTimer | boolean | Nej | Visa eller dölja checkout-timern. Standard är true. När den är inaktiverad får du checkout.link_expired-händelsen när sessionen går ut. |
options.showSecurityBadge | boolean | Nej | Visa eller dölja säkerhetsmärket. Standard är true. |
options.manualRedirect | boolean | Nej | När den är aktiverad kommer checkout inte att omdirigera automatiskt efter slutförande. Istället får du checkout.status och checkout.redirect_requested-händelser för att hantera omdirigeringen själv. |
Metoder
Öppna Checkout
Öppnar checkout-overlayen med den angivna checkout-session-URL:en.manualRedirect, hantera checkout-slutförandet i din onEvent callback:
Stäng Checkout
Stänger programatiskt checkout-overlay.Kontrollera Status
Returnerar om checkout-overlay för närvarande är öppen.Händelser
SDK:n tillhandahåller realtids-händelser som du kan lyssna på genomonEvent callback:
Checkout Status Händelsedata
NärmanualRedirect är aktiverad, får du checkout.status-händelsen med följande data:
Checkout Omdirigering Begärd Händelsedata
NärmanualRedirect är aktiverad, får du checkout.redirect_requested-händelsen med följande data:
| Händelsetyp | Beskrivning |
|---|---|
checkout.opened | Checkout-overlay har öppnats |
checkout.payment_page_opened | Betalningssidan har visats |
checkout.customer_details_submitted | Kund- och faktureringsuppgifter har skickats |
checkout.closed | Checkout-overlay har stängts |
checkout.redirect | Checkout kommer att utföra en omdirigering |
checkout.error | Ett fel inträffade under checkout |
checkout.link_expired | Utlöses när checkout-sessionen går ut. Endast mottagen när showTimer är inställt på false. |
checkout.status | Utlöses när manualRedirect är aktiverad. Innehåller checkout-status (succeeded, failed, eller processing). |
checkout.redirect_requested | Utlöses när manualRedirect är aktiverad. Innehåller URL:en för att omdirigera kunden till. |
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 endast åsidosätta 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
- Initiera en gång: Initiera SDK:n en gång när din applikation laddas, inte vid varje kassa-försök
- Felhantering: Implementera alltid korrekt felhantering i din händelsecallback
- Testläge: Använd
testläge under utveckling och väx tillliveförst när du är redo för produktion - Händelsehantering: Hantera alla relevanta händelser för en komplett användarupplevelse
- Giltiga URL:er: Använd alltid giltiga kassa-URL:er från API:t för att skapa kassa-sessioner
- TypeScript: Använd TypeScript för bättre typ-säkerhet och utvecklarupplevelse
- Laddningsstatusar: Visa laddningsstatusar medan kassan öppnas för att förbättra UX
- Manuella omdirigeringar: Använd
manualRedirectnär du behöver anpassad kontroll över navigering efter kassan - Timerhantering: Inaktivera timern (
showTimer: false) om du vill hantera sessionens utgång manuellt
Felsökning
Kassan öppnas inte
Kassan öppnas inte
Möjliga orsaker:
- SDK:n är inte initierad innan
open()anropas - Ogiltig kassa-URL
- JavaScript-fel i konsolen
- Nätverksanslutningsproblem
- Verifiera att SDK-initieringen sker innan kassan öppnas
- Kontrollera konsolen för fel
- Se till att kassa-URL:en är giltig och kommer från API:t för att skapa kassa-sessioner
- Verifiera nätverksanslutningen
Händelser utlöses inte
Händelser utlöses inte
Möjliga orsaker:
- Händelsehanteraren är inte korrekt inställd
- JavaScript-fel förhindrar händelsepropagering
- SDK:n är inte korrekt initierad
- Bekräfta att händelsehanteraren är korrekt konfigurerad i
Initialize() - Kontrollera webbläsarens konsol för JavaScript-fel
- Verifiera att SDK-initieringen slutfördes framgångsrikt
- Testa först med en enkel händelsehanterare
Stilproblem
Stilproblem
Möjliga orsaker:
- CSS-konflikter med dina applikationsstilar
- Temainställningar tillämpas inte korrekt
- Responsiv designproblem
- Kontrollera för CSS-konflikter i webbläsarens DevTools
- Verifiera att temainställningarna är korrekta
- Testa på olika skärmstorlekar
- Se till att det inte finns några z-index-konflikter med överlägg
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+
Överlägg vs Inline-kassa
Välj rätt kassatyp för ditt användningsfall:| Funktion | Överläggskassa | Inline-kassa |
|---|---|---|
| Integrationsdjup | Modal ovanpå sidan | Helt inbäddad i sidan |
| Layoutkontroll | Begränsad | Full kontroll |
| Branding | Separat från sidan | Sömlös |
| Implementeringsinsats | Lägre | Högre |
| Bäst för | Snabb integration, befintliga sidor | Anpassade kassasidor, högkonverterande flöden |
Relaterade resurser
Inline-kassa
Bädda in kassan direkt i din sida för helt integrerade upplevelser.
Kassa-sessioner API
Skapa kassa-sessioner för att driva dina kassaupplevelser.
Webhooks
Hantera betalningsevenemang server-side med webhooks.
Integrationsguide
Komplett guide för att integrera Dodo Payments.