Übersicht
Der Inline-Checkout ermöglicht es Ihnen, vollständig integrierte Checkout-Erlebnisse zu schaffen, die nahtlos mit Ihrer Website oder Anwendung verschmelzen. Im Gegensatz zum Overlay-Checkout, der als Modal über Ihrer Seite geöffnet wird, bettet der Inline-Checkout das Zahlungsformular direkt in Ihr Seitenlayout ein. Mit dem Inline-Checkout können Sie:- Checkout-Erlebnisse erstellen, die vollständig in Ihre App oder Website integriert sind
- Dodo Payments sicher die Kunden- und Zahlungsinformationen in einem optimierten Checkout-Rahmen erfassen lassen
- Artikel, Gesamtsummen und andere Informationen von Dodo Payments auf Ihrer Seite anzeigen
- SDK-Methoden und -Ereignisse verwenden, um fortschrittliche Checkout-Erlebnisse zu erstellen

Funktionsweise
Der Inline-Checkout funktioniert, indem ein sicherer Dodo Payments-Rahmen in Ihre Website oder App eingebettet wird. Der Checkout-Rahmen kümmert sich um das Sammeln von Kundeninformationen und das Erfassen von Zahlungsdetails. Ihre Seite zeigt die Artikelliste, Gesamtsummen und Optionen zum Ändern der Checkout-Inhalte an. Das SDK ermöglicht es Ihrer Seite und dem Checkout-Rahmen, miteinander zu interagieren. Dodo Payments erstellt automatisch ein Abonnement, wenn ein Checkout abgeschlossen ist, bereit für Sie zur Bereitstellung.Was macht einen guten Inline-Checkout aus?
Es ist wichtig, dass die Kunden wissen, von wem sie kaufen, was sie kaufen und wie viel sie bezahlen. Um einen Inline-Checkout zu erstellen, der konform und optimiert für Konversionen ist, muss Ihre Implementierung Folgendes enthalten:
Beispiel für ein Inline-Checkout-Layout mit erforderlichen Elementen
- Wiederkehrende Informationen: Wenn es sich um wiederkehrende Zahlungen handelt, wie oft sie wiederkehren und der Gesamtbetrag bei der Erneuerung. Wenn es sich um eine Testversion handelt, wie lange die Testversion dauert.
- Artikelbeschreibungen: Eine Beschreibung dessen, was gekauft wird.
- Transaktionssummen: Transaktionssummen, einschließlich Zwischensumme, Gesamtsteuer und Gesamtsumme. Stellen Sie sicher, dass auch die Währung angegeben ist.
- Dodo Payments-Fußzeile: Der vollständige Inline-Checkout-Rahmen, einschließlich der Checkout-Fußzeile, die Informationen über Dodo Payments, unsere Verkaufsbedingungen und unsere Datenschutzrichtlinie enthält.
- Rückerstattungsrichtlinie: Ein Link zu Ihrer Rückerstattungsrichtlinie, falls diese von der Standard-Rückerstattungsrichtlinie von Dodo Payments abweicht.
Kundenreise
Der Checkout-Fluss wird durch Ihre Konfiguration der Checkout-Sitzung bestimmt. Je nachdem, wie Sie die Checkout-Sitzung konfigurieren, erleben die Kunden einen Checkout, der möglicherweise alle Informationen auf einer einzigen Seite oder über mehrere Schritte hinweg präsentiert.Kunde öffnet den Checkout

Kunde gibt seine Daten ein
Kunde wählt Zahlungsmethode

Checkout abgeschlossen

Dodo Payments erstellt Abonnement

Schnellstart
Starten Sie mit dem Dodo Payments Inline Checkout in nur wenigen Zeilen Code:Schritt-für-Schritt-Integrationsanleitung
Installieren Sie das SDK
SDK für Inline-Anzeige initialisieren
displayType: 'inline' an. Sie sollten auch auf das checkout.breakdown Ereignis hören, um Ihre UI mit Echtzeitsteuer- und Gesamtrechnungen zu aktualisieren.Erstellen Sie ein Container-Element
Öffnen Sie den Checkout
DodoPayments.Checkout.open() mit dem checkoutUrl und dem elementId Ihres Containers auf:Testen Sie Ihre Integration
- Starten Sie Ihren Entwicklungsserver:
- Testen Sie den Checkout-Fluss:
- Geben Sie Ihre E-Mail- und Adressdaten im Inline-Rahmen ein.
- Überprüfen Sie, ob Ihre benutzerdefinierte Bestellübersicht in Echtzeit aktualisiert wird.
- Testen Sie den Zahlungsfluss mit Testanmeldeinformationen.
- Bestätigen Sie, dass die Weiterleitungen korrekt funktionieren.
checkout.breakdown Ereignisse in Ihrer Browser-Konsole sehen, wenn Sie ein Konsolenprotokoll im onEvent Callback hinzugefügt haben.Live gehen
- Ändern Sie den Modus auf
'live':
- Aktualisieren Sie Ihre Checkout-URLs, um Live-Checkout-Sitzungen von Ihrem Backend zu verwenden.
- Testen Sie den gesamten Fluss in der Produktion.
Vollständiges React-Beispiel
Dieses Beispiel zeigt, wie Sie eine benutzerdefinierte Bestellübersicht zusammen mit dem Inline-Checkout implementieren und sie mithilfe descheckout.breakdown Ereignisses synchron halten.
API-Referenz
Konfiguration
Initialisierungsoptionen
| Option | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
mode | "test" | "live" | Ja | Umgebungsmodus. |
displayType | "inline" | "overlay" | Ja | Muss auf "inline" gesetzt werden, um den Checkout einzubetten. |
onEvent | function | Ja | Callback-Funktion zur Verarbeitung von Checkout-Ereignissen. |
Checkout-Optionen
| Option | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
checkoutUrl | string | Ja | URL der Checkout-Sitzung. |
elementId | string | Ja | Der id des DOM-Elements, in dem der Checkout gerendert werden soll. |
options.showTimer | boolean | Nein | Zeige oder verstecke den Checkout-Timer. Standardmäßig auf true. Wenn deaktiviert, erhalten Sie das checkout.link_expired Ereignis, wenn die Sitzung abläuft. |
options.showSecurityBadge | boolean | Nein | Zeige oder verstecke das Sicherheitsabzeichen. Standardmäßig auf true. |
options.manualRedirect | boolean | Nein | Wenn aktiviert, wird der Checkout nach Abschluss nicht automatisch umgeleitet. Stattdessen erhalten Sie checkout.status und checkout.redirect_requested Ereignisse, um die Umleitung selbst zu handhaben. |
options.payButtonText | string | Nein | Benutzerdefinierter Text, der auf der Schaltfläche „Zahlen“ angezeigt werden soll. |
Methoden
Checkout öffnen
Öffnet den Checkout-Rahmen im angegebenen Container.manualRedirect verwenden, behandeln Sie den Abschluss des Checkouts in Ihrem onEvent Callback:
Checkout schließen
Entfernt programmgesteuert den Checkout-Rahmen und bereinigt die Ereignis-Listener.Status überprüfen
Gibt zurück, ob der Checkout-Rahmen derzeit injiziert ist.Ereignisse
Das SDK bietet Echtzeitereignisse über denonEvent Callback. Für den Inline-Checkout ist checkout.breakdown besonders nützlich, um Ihre UI zu synchronisieren.
| Ereignistyp | Beschreibung |
|---|---|
checkout.opened | Checkout-Rahmen wurde geladen. |
checkout.breakdown | Wird ausgelöst, wenn Preise, Steuern oder Rabatte aktualisiert werden. |
checkout.customer_details_submitted | Kundendaten wurden übermittelt. |
checkout.redirect | Checkout wird eine Umleitung durchführen (z. B. zu einer Bankseite). |
checkout.error | Ein Fehler ist während des Checkouts aufgetreten. |
checkout.link_expired | Wird ausgelöst, wenn die Checkout-Sitzung abläuft. Nur erhalten, wenn showTimer auf false gesetzt ist. |
checkout.status | Wird ausgelöst, wenn manualRedirect aktiviert ist. Enthält den Checkout-Status (succeeded, failed oder processing). |
checkout.redirect_requested | Wird ausgelöst, wenn manualRedirect aktiviert ist. Enthält die URL, zu der der Kunde umgeleitet werden soll. |
Checkout-Daten zur Aufschlüsselung
Dascheckout.breakdown Ereignis liefert die folgenden Daten:
Checkout-Status-Ereignisdaten
WennmanualRedirect aktiviert ist, erhalten Sie das checkout.status Ereignis mit den folgenden Daten:
Checkout-Umleitungsanforderungs-Ereignisdaten
WennmanualRedirect aktiviert ist, erhalten Sie das checkout.redirect_requested Ereignis mit den folgenden Daten:
Verständnis des Aufschlüsselungsereignisses
Dascheckout.breakdown Ereignis ist der primäre Weg, um die UI Ihrer Anwendung mit dem Checkout-Zustand von Dodo Payments synchron zu halten.
Wann es ausgelöst wird:
- Bei der Initialisierung: Sofort nachdem der Checkout-Rahmen geladen und bereit ist.
- Bei Adressänderung: Immer wenn der Kunde ein Land auswählt oder eine Postleitzahl eingibt, die zu einer Steuerneuberechnung führt.
| Feld | Beschreibung |
|---|---|
subTotal | Die Summe aller Positionen in der Sitzung, bevor Rabatte oder Steuern angewendet werden. |
discount | Der Gesamtwert aller angewendeten Rabatte. |
tax | Der berechnete Steuerbetrag. Im inline Modus wird dies dynamisch aktualisiert, während der Benutzer mit den Adressfeldern interagiert. |
total | Das mathematische Ergebnis von subTotal - discount + tax in der Basiswährung der Sitzung. |
currency | Der ISO-Währungs-Code (z. B. "USD") für die Standard-Zwischensumme, Rabatte und Steuerwerte. |
finalTotal | Der tatsächliche Betrag, den der Kunde berechnet wird. Dies kann zusätzliche Anpassungen des Devisenmarktes oder lokale Zahlungsgebühren umfassen, die nicht Teil der grundlegenden Preisaufschlüsselung sind. |
finalTotalCurrency | Die Währung, in der der Kunde tatsächlich bezahlt. Dies kann sich von currency unterscheiden, wenn Kaufkraftparität oder lokale Währungsumrechnung aktiv ist. |
- Währungsformatierung: Preise werden immer als Ganzzahlen in der kleinsten Währungseinheit (z. B. Cent für USD, Yen für JPY) zurückgegeben. Um sie anzuzeigen, teilen Sie durch 100 (oder die entsprechende Zehnerpotenz) oder verwenden Sie eine Formatierungsbibliothek wie
Intl.NumberFormat. - Umgang mit Anfangszuständen: Wenn der Checkout zum ersten Mal geladen wird, können
taxunddiscount0odernullsein, bis der Benutzer seine Rechnungsinformationen bereitstellt oder einen Code anwendet. Ihre UI sollte diese Zustände elegant handhaben (z. B. durch Anzeigen eines Strichs—oder durch Ausblenden der Zeile). - Der “Endbetrag” vs “Gesamt”: Während
totalIhnen die Standardpreisberechnung gibt, istfinalTotaldie Quelle der Wahrheit für die Transaktion. WennfinalTotalvorhanden ist, spiegelt es genau wider, was der Karte des Kunden belastet wird, einschließlich aller dynamischen Anpassungen. - Echtzeit-Feedback: Verwenden Sie das
taxFeld, um den Benutzern zu zeigen, dass Steuern in Echtzeit berechnet werden. Dies verleiht Ihrer Checkout-Seite ein “live” Gefühl und reduziert die Reibung während des Schrittes zur Eingabe der Adresse.
Implementierungsoptionen
Installation über Paketmanager
Installieren Sie über npm, yarn oder pnpm wie im Schritt-für-Schritt-Integrationsleitfaden gezeigt.CDN-Implementierung
Für eine schnelle Integration ohne Build-Schritt können Sie unser CDN verwenden:Theme-Anpassung
Sie können das Erscheinungsbild des Checkouts anpassen, indem Sie einthemeConfig Objekt im options Parameter beim Öffnen des Checkouts übergeben. Die Themenkonfiguration unterstützt sowohl helle als auch dunkle Modi, sodass Sie Farben, Ränder, Text, Schaltflächen und den Randradius anpassen können.
Grundlegende Themenkonfiguration
Vollständige Themenkonfiguration
Alle verfügbaren Themenattribute:Nur im Lichtmodus
Wenn Sie nur das helle Thema anpassen möchten:Nur im Dunkelmodus
Wenn Sie nur das dunkle Thema anpassen möchten:Teilweise Themenüberschreibung
Sie können nur bestimmte Eigenschaften überschreiben. Der Checkout verwendet Standardwerte für Eigenschaften, die Sie nicht angeben:Themenkonfiguration mit anderen Optionen
Sie können die Themenkonfiguration mit anderen Checkout-Optionen kombinieren:TypeScript-Typen
Für TypeScript-Nutzer sind alle Typen der Themenkonfiguration exportiert:Fehlerbehandlung
Das SDK bietet detaillierte Fehlermeldungen über das Ereignissystem. Implementieren Sie immer eine ordnungsgemäße Fehlerbehandlung in IhremonEvent Callback:
Best Practices
- Responsive Design: Stellen Sie sicher, dass Ihr Container-Element genügend Breite und Höhe hat. Das iframe wird typischerweise so erweitert, dass es seinen Container ausfüllt.
- Synchronisation: Verwenden Sie das
checkout.breakdownEreignis, um Ihre benutzerdefinierte Bestellübersicht oder Preistabellen mit dem, was der Benutzer im Checkout-Rahmen sieht, synchron zu halten. - Skeleton States: Zeigen Sie einen Ladeindikator in Ihrem Container an, bis das
checkout.openedEreignis ausgelöst wird. - Aufräumen: Rufen Sie
DodoPayments.Checkout.close()auf, wenn Ihre Komponente unmontiert wird, um das iframe und die Ereignis-Listener aufzuräumen.
#0d0d0d als Hintergrundfarbe für eine optimale visuelle Integration mit dem Inline-Checkout-Rahmen zu verwenden.Fehlersuche
Checkout-Rahmen wird nicht angezeigt
Checkout-Rahmen wird nicht angezeigt
- Überprüfen Sie, ob
elementIdmit demideinesdivübereinstimmt, der tatsächlich im DOM vorhanden ist. - Stellen Sie sicher, dass
displayType: 'inline'anInitializeübergeben wurde. - Überprüfen Sie, ob das
checkoutUrlgültig ist.
Steuern werden in meiner UI nicht aktualisiert
Steuern werden in meiner UI nicht aktualisiert
- Stellen Sie sicher, dass Sie auf das
checkout.breakdownEreignis hören. - Steuern werden nur berechnet, nachdem der Benutzer ein gültiges Land und eine Postleitzahl im Checkout-Rahmen eingegeben hat.
Aktivierung von Apple Pay
Apple Pay ermöglicht es Kunden, Zahlungen schnell und sicher mit ihren gespeicherten Zahlungsmethoden abzuschließen. Wenn aktiviert, können Kunden das Apple Pay-Modul direkt aus dem Checkout-Overlay auf unterstützten Geräten starten.Laden Sie die Apple Pay-Domain-Zuordnungsdatei herunter und laden Sie sie hoch
/.well-known/apple-developer-merchantid-domain-association hoch. Wenn Ihre Website beispielsweise example.com ist, stellen Sie die Datei unter https://example.com/well-known/apple-developer-merchantid-domain-association zur Verfügung.Fordern Sie die Aktivierung von Apple Pay an
- Ihre Produktions-Domain-URL (z. B.
https://example.com) - Anfrage zur Aktivierung von Apple Pay für Ihre Domain
Überprüfen Sie die Verfügbarkeit von Apple Pay
- Öffnen Sie Ihren Checkout auf einem unterstützten Gerät (iOS 17+, iPadOS 17+ oder Safari 17+ auf macOS)
- Überprüfen Sie, ob die Apple Pay-Schaltfläche als Zahlungsoption angezeigt wird
- Testen Sie den gesamten Zahlungsfluss
Browserunterstützung
Das Dodo Payments Checkout SDK unterstützt die folgenden Browser:- Chrome (neueste)
- Firefox (neueste)
- Safari (neueste)
- Edge (neueste)
- IE11+
Inline- vs. Overlay-Checkout
Wählen Sie den richtigen Checkout-Typ für Ihren Anwendungsfall:| Funktion | Inline-Checkout | Overlay-Checkout |
|---|---|---|
| Integrationstiefe | Vollständig in die Seite eingebettet | Modal über der Seite |
| Layoutkontrolle | Volle Kontrolle | Eingeschränkt |
| Branding | Nahtlos | Getrennt von der Seite |
| Implementierungsaufwand | Höher | Niedriger |
| Am besten für | Benutzerdefinierte Checkout-Seiten, hochkonvertierende Abläufe | Schnelle Integration, bestehende Seiten |