Skip to main content

Quick Start

Bringen Sie Ihre mobile Zahlungsintegration in 4 einfachen Schritten zum Laufen

Platform Examples

Vollständige Codebeispiele für Android, iOS, React Native und Flutter
Dodo Payments stellt ein offizielles Checkout-SDK für Android, iOS, React Native, und Flutter bereit. Jedes SDK kapselt das unten dokumentierte Muster (Checkout- URL öffnen, Rückgabe erfassen, Ergebnis analysieren) hinter einem einzigen typisierten start(...)- Aufruf, einschließlich integrierter Wiederherstellung abgebrochener Sitzungen. Verwende nur dann eine manuelle WebView, wenn keines davon zu deinem Stack passt.

Voraussetzungen

Bevor du Dodo Payments in deine mobile App integrierst, stelle sicher, dass du Folgendes hast:
  • Dodo Payments-Konto: Aktives Händlerkonto mit API-Zugriff
  • API-Zugangsdaten: API-Schlüssel und Webhook-Secret-Key aus deinem Dashboard
  • Projekt der mobilen App: Android-, iOS-, React-Native- oder Flutter-Anwendung
  • Backend-Server: Zur sicheren Verarbeitung der Erstellung von Checkout-Sitzungen

Integrationsablauf

Die mobile Integration folgt einem sicheren Prozess in vier Schritten: Dein Backend verarbeitet die API-Aufrufe und deine mobile App verwaltet die Benutzererfahrung.
1

Backend: Create Checkout Session

Checkout Session API Docs

Erfahre, wie du mit Node.js, Python und weiteren Sprachen eine Checkout-Sitzung in deinem Backend erstellst. Vollständige Beispiele und Parameterreferenzen findest du in der Dokumentation der Checkout Sessions API.
Sicherheit: Checkout-Sitzungen müssen auf deinem Backend-Server erstellt werden, niemals in der mobilen App. Dadurch werden deine API-Schlüssel geschützt und eine ordnungsgemäße Validierung sichergestellt.
2

Mobile: Get Checkout URL

Deine mobile App ruft dein Backend auf, um die Checkout-URL abzurufen. Authentifiziere diese Anfrage mit dem Sitzungstoken des angemeldeten Benutzers.
Sicherheit: Mobile Apps kommunizieren ausschließlich mit deinem Backend, niemals direkt mit der Dodo Payments API.
3

Mobile: Open Checkout in Browser

Öffne die Checkout-URL zur Zahlungsabwicklung in einem sicheren In-App-Browser. Oder überspringe die manuelle Einrichtung vollständig mit dem offiziellen Checkout-SDK für deine Plattform.

Pick your mobile SDK

Installationsschritte und Einrichtungsanweisungen für Android, iOS, React Native und Flutter.
4

Backend: Handle Payment Completion

Verarbeite den Abschluss der Zahlung über Webhooks und Weiterleitungs-URLs, um den Zahlungsstatus zu bestätigen.

Wähle dein SDK

Jedes mobile SDK stellt denselben Vertrag bereit: Ein einziger start(...)-Aufruf öffnet den gehosteten Checkout von Dodo in der nativen Browser-Oberfläche der Plattform und gibt ein typisiertes CheckoutResult zurück, dessen status succeeded, failed, cancelled, pending oder expired ist. Keines davon enthält einen API-Schlüssel oder ruft die Dodo Payments API auf, und alle vier unterstützen die Wiederherstellung abgebrochener Sitzungen.

Android

com.dodopayments.api:checkout-android öffnet einen Chrome Custom Tab. Erfordert minSdk 23.

iOS

dodopayments-mobile-sdk-ios öffnet SFSafariViewController. Erfordert iOS 16+.

React Native

@dodopayments/react-native-checkout, ein Turbo Module über beide nativen Kerne. Erfordert React Native 0.76+.

Flutter

dodopayments_checkout, ein Pigeon-Kanal über beide nativen Kerne. Erfordert Flutter 3.44+.
Das zurückgegebene status ist ein UI-Hinweis, kein Zahlungsnachweis. Bestätige jede Zahlung von deinem Backend aus über den payment.succeeded-/subscription.active- Webhook oder rufe die Zahlung mit deinem Secret-Key ab.

Ein Callback-URL-Schema registrieren

Alle vier SDKs geben die Kontrolle über ein benutzerdefiniertes URL-Schema, das du auswählst, an deine App zurück, zum Beispiel myapp://checkout/return. Registriere es einmal pro Plattform:
android/app/build.gradle
Das Manifest des SDKs deklariert die Redirect-Aktivität bereits selbst, daher musst du kein Manifest-XML hinzufügen.
Möchtest du es selbst erstellen? Öffne die checkout_url in einer WebView und fange die Navigation zu deiner return_url ab. Lies anschließend die status- und payment_id- Query-Parameter aus. Die obigen SDKs übernehmen dies für dich in der echten Browser-Oberfläche der Plattform, daher funktionieren Apple Pay und Google Pay weiterhin.

Best Practices

  • Sicherheit: Liefere niemals einen API-Schlüssel in deiner App aus. Erstelle Checkout-Sitzungen in deinem Backend und übergib dem Client nur die resultierende checkout_url.
  • Maßgeblichkeit: Behandle CheckoutResult.status als UI-Hinweis. Gewähre Zugriff erst, nachdem dein Backend die Zahlung bestätigt hat.
  • Benutzererfahrung: Zeige einen Ladezustand an, während dein Backend die Sitzung erstellt, und behandle cancelled als normales Ergebnis und nicht als Fehler.
  • Tests: Verwende den Testmodus und Testkarten und überprüfe den Roundtrip der Rückgabe-URL sowohl auf einem echten Gerät als auch in einem Simulator.

Fehlerbehebung

Häufige Probleme

  • Callback trifft nie ein: Das Schema in returnUrl muss mit dem registrierten Schema übereinstimmen. Unter Android ist dies der dodoCallbackScheme-Manifest-Platzhalter, unter iOS und React Native der Info.plist-URL-Typ.
  • Checkout kehrt unter iOS zum Browser statt zu deiner App zurück: Du hast die eingehende URL nicht weitergeleitet. Rufe DodoCheckout.handleOpenURL(url) aus .onOpenURL, scene(_:openURLContexts:) oder einem React-Native- Linking-Listener auf.
  • PLATFORM_ERROR unter Android: Meist liegt ein Schema-Konflikt vor. Dies kann auch auftreten, wenn dein MainActivity android:taskAffinity="" setzt (der standardmäßige flutter create-Wert), wodurch einige OEM-Builds den laufenden Checkout verlieren können.
  • ALREADY_IN_PROGRESS: Ein Checkout ist noch geöffnet. Warte, bis der vorherige abgeschlossen ist, oder schließe ihn, bevor du einen weiteren startest.
  • Build schlägt wegen eines nicht aufgelösten Platzhalters fehl: Du hast das Android-SDK hinzugefügt, aber manifestPlaceholders["dodoCallbackScheme"] nie gesetzt.
  • Zahlung erfolgreich, aber kein Zugriff gewährt: Dies ist zu erwarten, wenn du dich am mobilen Ergebnis orientierst. Gewähre den Zugriff stattdessen über den payment.succeeded-/subscription.active-Webhook.

Zusätzliche Ressourcen

Bei Fragen oder für Support wende dich an support@dodopayments.com.
Zuletzt geändert am 31. Juli 2026