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
Manueller EintragVolle Kontrolle für vollständige Adressen
LänderauswahlSteuer- und Compliance-Logik
Die Adresserfassung balanciert Geschwindigkeit, Genauigkeit und globale Abdeckung, um die Konversion zu maximieren und sicherzustellen, dass die Compliance gewährleistet ist.

Telefonnummernerfassung

Kontrolliere, ob das Telefonnummernfeld beim Checkout erscheint — und ob es erforderlich ist — indem du Feature-Flags für die Checkout-Sitzung verwendest.
FlagStandardVerhalten
allow_phone_number_collectiontrueZeigt das Telefonnummernfeld im Checkout-Formular an
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 Sitzungen ab, bei denen die Telefondaten nicht erfasst werden, während die Telefonnummer erforderlich ist.
Verwende require_phone_number für B2B SaaS, regulierte Branchen oder jeden Prozess, bei dem ein verifizierter Kontaktkanal für Support, Betrugsprüfung oder Compliance benötigt wird.

Benutzerdefinierte Felder

Sammle zusätzliche Informationen von Kunden während des Checkout, indem du benutzerdefinierte Formularfelder definierst. Dies ist nützlich für das Sammeln von Daten wie Firmenname, Teamgröße, Herkunftsquelle oder anderen geschäftsspezifischen Informationen.

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-Payloads (payment.succeeded, subscription.active) und API-Antworten über das custom_field_responses Array aufgenommen. Du kannst bis zu 5 benutzerdefinierte Felder pro Checkout-Sitzung definieren.

Custom Fields Guide

Erfahre mehr über die Konfiguration von benutzerdefinierten Feldern und den Zugriff auf Antworten.

Akzeptanz der Datenschutzbestimmungen & Bedingungen

Um rechtliche und Compliance-Transparenz sicherzustellen:
Dies trägt dazu bei, den globalen Anforderungen an den Verbraucherschutz und den Datenschutz, einschließlich der DSGVO-Konformität, gerecht zu werden.

Kollektions-Checkout

Produktkollektionen ermöglichen ein einheitliches Checkout-Erlebnis, bei dem Kunden aus mehreren verwandten Produkten (z.B. Starter-, Pro-, Unternehmenspläne) in einem einzigen Checkout auswählen können.

So funktioniert es

  1. Alle Produkte angezeigt: Kunden sehen jedes aktive Produkt in der Kollektion
  2. Erstes Produkt vorausgewählt: Das erste Produkt in der Kollektion wird automatisch ausgewählt
  3. Optionen vergleichen: Kunden können Preise und Funktionen vergleichen, bevor sie sich entscheiden
  4. Einzelauswahl: Nach der Auswahl eines Produkts geht es mit dem Standard-Zahlungsablauf weiter

Erstellung eines Kollektions-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'
});
Beim Verwenden von product_collection_id, übergib ein leeres product_cart Array. Rabattcodes können nicht bei der Erstellung der Sitzung vorab angewendet werden.

Product Collections

Erfahre, wie du Produktkollektionen für einheitliche Checkout-Erfahrungen erstellst und verwaltest.

Konfiguration der Checkout-Sitzung

Kontrolliere 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 zu deinem return_url umgeleitet, wobei automatisch Abfrageparameter hinzugefügt werden — einschließlich payment_id oder subscription_id, status, email und license_key (falls zutreffend). Siehe den Checkout-Sessions-Leitfaden 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-Themas

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, Border-Radius und Button-Text für sowohl Licht- als auch Dunkelmodi.
Benutzerdefinierte Themenseite im Checkout

Design & Theme Customization

Konfiguriere Themes visuell vom Dashboard mit vorgefertigten Themes, Typografie, Farben und Live-Vorschau.
Dieser Abschnitt deckt die serverseitige API-Themenkonfiguration mit customization.theme_config ab. 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).

Themenkonfigurationsoptionen

EigenschaftBeschreibung
lightFarbkonfiguration für Hellmodus
darkFarbkonfiguration für Dunkelmodus
font_primary_urlURL für die Primärschriftart
font_secondary_urlURL für die Sekundärschriftart
font_sizeSchriftgröße: xs, sm, md, lg, xl, 2xl
font_weightSchriftstärke: normal, medium, bold, extraBold
radiusBorder-Radius für UI-Elemente (z.B. 4px, 0.5rem, 8px)
pay_button_textBenutzerdefinierter Text für die Zahlungsschaltfläche (z.B. “Kauf abschließen”, “Jetzt abonnieren”)

Farbkonfiguration (Hell-/Dunkelmodus)

Jeder Modus (light und dark) unterstützt folgende Farbeigenschaften:
EigenschaftBeschreibung
bg_primaryHintergrundprimärfarbe
bg_secondaryHintergrundsekundärfarbe
text_primaryTextprimärfarbe
text_secondaryTextsekundärfarbe
text_placeholderText-Platzhalterfarbe
text_errorText-Fehlerfarbe
text_successText-Erfolgsfarbe
border_primaryBorder-Primärfarbe
border_secondaryBorder-Sekundärfarbe
button_primaryPrimärbutton-Hintergrundfarbe
button_primary_hoverPrimärbutton-Hover-Farbe
button_secondarySekundärbutton-Hintergrundfarbe
button_secondary_hoverSekundärbutton-Hover-Farbe
button_text_primaryPrimärbutton-Textfarbe
button_text_secondarySekundärbutton-Textfarbe
input_focus_borderEingabefeld-Fokus-Border-Farbe
Alle Farbfelder akzeptieren standardmäßige 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-Themenwerte.
Last modified on May 22, 2026