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.
- iOS (Swift)
- Android (Kotlin)
- React Native (JavaScript)
- Flutter (Dart)
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 einzigerstart(...)-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+.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 Beispielmyapp://checkout/return. Registriere es einmal pro
Plattform:
- Android
- iOS
- Expo
android/app/build.gradle
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.statusals 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
cancelledals 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
returnUrlmuss mit dem registrierten Schema übereinstimmen. Unter Android ist dies derdodoCallbackScheme-Manifest-Platzhalter, unter iOS und React Native derInfo.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_ERRORunter Android: Meist liegt ein Schema-Konflikt vor. Dies kann auch auftreten, wenn deinMainActivityandroid:taskAffinity=""setzt (der standardmäßigeflutter 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.