Zum Hauptinhalt springen
Checkout-Seite
Dodo Payments Checkout ist ein konversionsoptimierter, weltweit konformer Checkout, der für digitale Produkte und SaaS-Unternehmen entwickelt wurde. Er unterstützt mehrere Währungen, Sprachen, Steuern, Rabatte, Add-ons und compliance-freundliche Geschäftsabläufe.

Checkout Sessions API

Erstellen Sie gehostete Checkout-Sitzungen programmatisch.

Preview Checkout

Berechnen Sie Preise und Steuern, bevor Sie eine Sitzung erstellen.

Payment Methods

Unterstützte Zahlungsmethoden und Konfigurationsoptionen.

Adaptive Währung

Adaptive Währung ermöglicht es Kunden, in ihrer bevorzugten lokalen Währung zu bezahlen, was Vertrauen und Konversionsraten verbessert.

So funktioniert es

  1. Aktivieren: Adaptive Currency unter Einstellungen → Business aktivieren
  2. Wählen: Kunden können die Währung direkt beim Checkout wechseln
  3. Konvertieren: Preise werden dynamisch mit Echtzeit-Wechselkursen umgerechnet
  4. Anzeigen: Der endgültige zu zahlende Betrag wird transparent vor der Zahlung angezeigt
Währungsauswahl beim Checkout

Adaptive Currency

Erfahren Sie mehr über unterstützte Währungen, Wechselgebühren und Rückerstattungsabwicklung.

Mehrsprachiger Checkout

Dodo Payments unterstützt mehrere Sprachen auf der Checkout-Seite, sodass Kunden Zahlungen in einer Sprache abschließen können, mit der sie sich wohlfühlen.
Sprachauswahl beim Checkout

Wichtige Highlights

  • Sprachselector direkt beim Checkout verfügbar
  • UI-Text, Labels und Systemnachrichten sind lokalisiert
  • Verbessert die Zugänglichkeit und internationale Konversion

Unterstützte Sprachen

Die Checkout-Seite unterstützt 21 Sprachen:
SpracheCode
Arabischar
Katalanischca
Chinesischzh
Niederländischnl
Englischen
Französischfr
Deutschde
Hebräischhe
Indonesischid
Italienischit
Japanischja
Koreanischko
Malaiischms
Polnischpl
Portugiesischpt
Rumänischro
Russischru
Spanisches
Schwedischsv
Thailändischth
Türkischtr
Sie können im Checkout eine bestimmte Sprache erzwingen, indem Sie den force_language-Parameter beim Erstellen einer Checkout-Sitzung festlegen. Details finden Sie in der Checkout Sessions API.

Automatische Steuerberechnung

Die Steuern werden automatisch basierend auf dem Rechnungsort des Kunden berechnet und gewährleisten die Einhaltung von GST-, MwSt.- und Umsatzsteueranforderungen ohne manuelle Einrichtung.

So funktioniert die Steuerberechnung

1

Location Detection

Steuervorschriften werden basierend auf dem Land des Kunden (und ggf. der Region) angewendet.
2

Dynamic Updates

Der Steuerbetrag wird automatisch aktualisiert, wenn:
  • sich das Land ändert
  • die Adresse aktualisiert wird
3

Transparent Display

Die endgültige Steueraufstellung wird klar vor der Zahlung angezeigt.
Die Steuerberechnung ist vollständig automatisiert. Für Standard-Digitalwaren und SaaS-Produkte ist keine manuelle Konfiguration erforderlich.

Unterstützung für Business-Steuer-ID

Für registrierte Unternehmen erlaubt der Checkout Kunden die Eingabe ihrer Business-Steuer-ID (z. B. MwSt./GST-Nummer).

Was passiert, wenn eine Steuer-ID eingegeben wird

  • Die Steuerberechtigung wird in Echtzeit validiert
  • Anwendbare Steuerbefreiungen oder Reverse-Charge-Regeln werden angewendet
  • Der Steuerbetrag wird sofort im Checkout aktualisiert
Geschäftssteuer-ID-Eingabe beim Checkout
Dies ist besonders nützlich für B2B-SaaS und digitale Dienstleistungen, bei denen Geschäftskunden möglicherweise für Steuerbefreiungen infrage kommen.

Rabattcodes

Kunden können Rabatt- oder Aktionscodes, die Sie im Dashboard erstellt haben, direkt auf der Checkout-Seite eingeben.

Checkout-Erlebnis

  1. Kunde gibt den Rabattcode ein
  2. Der Rabatt wird sofort validiert
  3. Der aktualisierte Preis und die Einsparungen werden klar angezeigt
Rabattcode-Eingabe beim Checkout

API-Integration

Vorab einen oder mehrere gestapelte Rabattcodes anwenden oder das Eingabefeld für den Rabatt aktivieren:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_codes: ['WELCOME20'], // Pre-apply one or more codes (max 20, applied in order)
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});
discount_codes akzeptiert ein Array von bis zu 20 Codes, die in Reihenfolge gestapelt werden. Das einzelne discount_code Feld ist veraltet, funktioniert aber noch — bestehende Integrationen müssen nicht sofort geändert werden. Wechsle zu discount_codes, wenn das Stapeln und die reichhaltigere Antwortform bequem genutzt werden sollen.

Discount Codes

Erfahre, wie man Rabattcodes erstellt und verwaltet.

Validate Discount by Code

Nachschlagen und Validieren von Rabatten mit Hilfe von Codenamen.

Intelligente Adresserfassung

Der Checkout unterstützt flexible Adresseingabe für einen schnelleren Abschluss.

Verfügbare Optionen

OptionBeschreibung
Google Address AutofillSchnelle Auswahl mit Autovervollständigung
Manuelle EingabeVolle Kontrolle über vollständige Adressen
LänderauswahlBeeinflusst Steuer- und Compliance-Logik
Minimale AdresseErfasse nur das Land (und die Postleitzahl, falls für Steuern erforderlich) — siehe Minimal Address Mode
Die Adresserfassung balanciert Geschwindigkeit, Genauigkeit und globale Abdeckung, um die Konversion zu maximieren und sicherzustellen, dass die Compliance gewährleistet ist.

Minimal Address Mode

Für maximale Konversionsraten aktiviere die minimale Adresssammlung, um Reibungen im Checkout-Prozess zu reduzieren. Wenn minimal_address auf true gesetzt ist, werden im Checkout nur folgende Informationen gesammelt:
  • Land — immer erforderlich zur Steuerbestimmung
  • Postleitzahl — nur in Regionen, in denen sie für die Berechnung von Umsatzsteuer, MwSt. oder GST notwendig ist
Alle anderen Adressfelder (Straße, Stadt, Bundesland) werden übersprungen, was die Abschlussgeschwindigkeit des Checkouts erheblich erhöht.
Minimaler Adressmodus zeigt nur das Feld für Land und Postleitzahl beim Checkout
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  minimal_address: true,
  return_url: 'https://yoursite.com/return'
});
Die vollständige Adresssammlung bleibt der Standard. Aktiviere minimal_address für digitale Produkte und SaaS-Flows, bei denen vollständige Rechnungsdetails nicht erforderlich sind.

Minimal Address Reference

Siehe die vollständige minimal_address Parameterreferenz im Checkout Sessions API Guide.

Telefonnummernsammlung

Steuere, ob das Telefonnummernfeld beim Checkout angezeigt wird — und ob es erforderlich ist — mittels Feature-Flags in der Checkout-Session.
FlagStandardVerhalten
allow_phone_number_collectiontrueZeigt das Telefonnummernfeld im Checkout-Formular
require_phone_numberfalseMacht das Telefonnummernfeld erforderlich (Formularvalidierung erzwingt einen nicht-leeren Wert)
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_phone_number_collection: true,
    require_phone_number: true
  },
  return_url: 'https://yoursite.com/return'
});
require_phone_number: true erfordert allow_phone_number_collection: true. Die API lehnt Sessions ab, bei denen das Sammeln von Telefonnummern deaktiviert ist, während es erforderlich ist.
Verwende require_phone_number für B2B SaaS, regulierte Branchen oder jede Flow, bei dem ein verifizierter Kontaktkanal für Support, Betrugsüberprüfung oder Compliance erforderlich ist.

Benutzerdefinierte Felder

Sammle zusätzliche Informationen von Kunden während des Checkouts, indem du benutzerdefinierte Formularfelder definierst. Dies ist nützlich, um Daten wie Firmenname, Teamgröße, Quelle der Empfehlung oder andere geschäftsspezifische Informationen zu sammeln.

Verfügbare Feldtypen

TypBeschreibung
textEingabe einzeiliger Text
numberNumerische Eingabe
emailE-Mail-Adresse mit Validierung
urlURL mit Validierung
dateDatumsauswahl
dropdownAuswahl aus vordefinierten Optionen
booleanJa/Nein Umschalter

Beispiel

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  custom_fields: [
    {
      key: 'company_name',
      label: 'Company Name',
      field_type: 'text',
      required: true
    },
    {
      key: 'team_size',
      label: 'Team Size',
      field_type: 'dropdown',
      required: true,
      options: ['1-10', '11-50', '51-200', '200+']
    }
  ],
  return_url: 'https://yoursite.com/return'
});
Kundenantworten werden automatisch in Webhook-Nutzlasten (payment.succeeded, subscription.active) und API-Antworten über das custom_field_responses Array aufgenommen. Du kannst bis zu 5 benutzerdefinierte Felder pro Checkout-Session definieren.

Custom Fields Guide

Erfahre mehr über die Konfiguration benutzerdefinierter Felder und den Zugriff auf Antworten.

Datenschutzbestimmungen & Nutzungsbedingungen

Um rechtliche und Compliance-Transparenz sicherzustellen:
Dies hilft, globale Verbraucher- und Datenschutzanforderungen einschließlich der DSGVO-Konformität zu erfüllen.

Sammlung Checkout

Produktkollektionen ermöglichen ein einheitliches Checkout-Erlebnis, bei dem Kunden mehrere verwandte Produkte (z.B. Starter, Pro, Enterprise-Pläne) in einem einzigen Checkout ansehen und auswählen können.

Wie es funktioniert

  1. Alle Produkte angezeigt: Kunden sehen jedes aktive Produkt in der Sammlung
  2. Erstes Produkt vorausgewählt: Das erste Produkt in der Sammlung ist automatisch ausgewählt
  3. Optionen vergleichen: Kunden können Preise und Funktionen vergleichen, bevor sie sich entscheiden
  4. Einzelne Auswahl: Nach Auswahl eines Produkts geht der Checkout in den Standard-Zahlungsfluss über

Erstellung eines Sammlung-Checkouts

const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});
Bei der Verwendung von product_collection_id übergib ein leeres product_cart Array. Rabattcodes können nicht vorab angewendet werden bei der Sitzungserstellung.

Product Collections

Erfahre, wie du Produktkollektionen für ein einheitliches Checkout-Erlebnis erstellen und verwalten kannst.

Checkout-Sitzungskonfiguration

Steuere das Checkout-Verhalten über die Checkout Sessions API:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: 'customer@example.com',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_codes: ['PROMO10'],
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  cancel_url: 'https://yoursite.com/pricing', // Optional: where to redirect on cancel
  metadata: {
    order_ref: 'ORD-12345'
  }
});
Nach der Zahlung werden Kunden auf deine return_url weitergeleitet, mit automatisch angehängten Abfrageparametern — einschließlich payment_id oder subscription_id, status, email, und license_key (falls zutreffend). Siehe den Checkout Sessions Guide für die vollständige Liste.

Checkout Sessions API

Vollständige API-Referenz für Checkout-Sitzungen.

Checkout Integration Guide

Schritt-für-Schritt-Anleitung zur Integration des Checkouts.

Anpassung des Checkout-Themes

Passe das Erscheinungsbild der Checkout-Seite an deine Marke an, indem du den customization.theme_config Parameter verwendest, wenn du eine Checkout-Sitzung über die API erstellst. Konfiguriere Farben, Schriftarten, Randradius und Button-Text für sowohl helle als auch dunkle Modi.
Benutzerdefinierte gestaltete Checkout-Seite

Design & Theme Customization

Konfiguriere Themes visuell aus dem Dashboard mit vorgefertigten Themes, Typografie, Farben und Live-Vorschau.
Dieser Abschnitt behandelt die Server-seitige API-Themenkonfiguration mit customization.theme_config. Wenn du das Checkout SDK (Overlay oder Inline-Checkout) verwendest, sieh dir die Themenanpassungsabschnitte in Overlay Checkout oder Inline Checkout an, die camelCase-Eigenschaften verwenden (z.B. bgPrimary anstelle von bg_primary).

Theme-Konfigurationsoptionen

EigenschaftBeschreibung
lightFarbkonfiguration für den hellen Modus
darkFarbkonfiguration für den dunklen Modus
font_primary_urlURL für die primäre Schriftart
font_secondary_urlURL für die sekundäre Schriftart
font_sizeSchriftgröße: xs, sm, md, lg, xl, 2xl
font_weightSchriftgewicht: normal, medium, bold, extraBold
radiusRandradius für UI-Elemente (z.B. 4px, 0.5rem, 8px)
pay_button_textBenutzerdefinierter Text für den Bezahlen-Button (z.B. “Kauf abschließen”, “Jetzt abonnieren”)

Farbkonfiguration (Heller/Dunkler Modus)

Jeder Modus (light und dark) unterstützt die folgenden Farbeigenschaften:
EigenschaftBeschreibung
bg_primaryHintergrund Primärfarbe
bg_secondaryHintergrund Sekundärfarbe
text_primaryText Primärfarbe
text_secondaryText Sekundärfarbe
text_placeholderText Platzhalterfarbe
text_errorText Fehlerfarbe
text_successText Erfolgsfarbe
border_primaryRandfarbe Primär
border_secondaryRandfarbe Sekundär
button_primaryHintergrundfarbe Primärknopf
button_primary_hoverHover-Farbe Primärknopf
button_secondaryHintergrundfarbe Sekundärknopf
button_secondary_hoverHover-Farbe Sekundärknopf
button_text_primaryTextfarbe Primärknopf
button_text_secondaryTextfarbe Sekundärknopf
input_focus_borderEingabefokus Randfarbe
Alle Farbfelder akzeptieren Standard-CSS-Farbformate:
  • Hex: #fff, #ffffff, #ffffffff
  • RGB/RGBA: rgb(255, 255, 255), rgba(255, 255, 255, 0.5)
  • HSL/HSLA: hsl(120, 100%, 50%), hsla(120, 100%, 50%, 0.5)
  • Benannte Farben: red, blue, transparent

Beispiel

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customization: {
    theme_config: {
      // Custom fonts
      font_primary_url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap',
      font_size: 'md',
      font_weight: 'medium',
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      
      // Light mode colors
      light: {
        bg_primary: '#ffffff',
        bg_secondary: '#f5f5f5',
        text_primary: '#1a1a1a',
        text_secondary: '#666666',
        button_primary: '#0066ff',
        button_primary_hover: '#0052cc',
        button_text_primary: '#ffffff',
        border_primary: '#e0e0e0'
      },
      
      // Dark mode colors
      dark: {
        bg_primary: '#1a1a1a',
        bg_secondary: '#2d2d2d',
        text_primary: '#ffffff',
        text_secondary: '#a0a0a0',
        button_primary: '#3385ff',
        button_primary_hover: '#4d99ff',
        button_text_primary: '#ffffff',
        border_primary: '#404040'
      }
    }
  },
  return_url: 'https://yoursite.com/return'
});
Du musst nicht alle Farbeigenschaften angeben. Alle nicht spezifizierten Eigenschaften verwenden die Standard-Theme-Werte.
Last modified on June 9, 2026