Dies ist das offizielle Dodo Payments React Native Checkout SDK,
@dodopayments/react-native-checkout. Es öffnet den gehosteten Checkout von Dodo in einer nativen Browseransicht und gibt ein typisiertes Ergebnis zurück. Hinweis: Es gibt ein älteres, nicht verwandtes Paket namens dodopayments-react-native-sdk (unscoped) mit einer vollständig anderen API. Diese Seite dokumentiert ausschließlich das aktuelle offizielle Scoped-Paket.Checkout Sessions API
Erstelle die checkout_url, die dieses SDK öffnet, in deinem Backend.
Mobile Integration Guide
Erfahre, wie dies in den vollständigen mobilen Zahlungsablauf passt.
SFSafariViewController auf iOS und einen Chrome Custom Tab auf Android, enthält keinen API-Schlüssel und ruft die Dodo API niemals direkt auf. Die gesamte Checkout-Logik läuft im Browser; das SDK verwaltet lediglich den Lebenszyklus der Ansicht und erfasst die Return-URL.
Installation
1
Install the Package
- Android
- iOS
- Expo
Das Paket wird automatisch verknüpft und ruft Keine zusätzliche Einrichtung erforderlich; die native Abhängigkeit wird automatisch aufgelöst.
com.dodopayments.api:checkout-android aus Maven ab.2
Register a Callback URL Scheme
Deine App muss ein URL-Schema registrieren, um die Return-URL vom Checkout zu empfangen.
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
In Ersetze
android/app/build.gradle:android/app/build.gradle
"myapp" durch das Schema deiner App.Verwendung
Return-URL weiterleiten
DerLinking-Listener ist für die Verarbeitung der Return-URL unter iOS erforderlich. Unter Android ist handleOpenURL ein No-op, das false auflöst, da der Android-Kern seine Weiterleitung nativ verarbeitet. Es ist sicher, den Listener auf beiden Plattformen bedingungslos zu registrieren.
Bedeutung des Ergebnisses
CheckoutStatus
erforderlich
Einer von
succeeded, failed, cancelled, pending, expired.string
Wird gesetzt, wenn die Return-URL einen solchen Wert enthielt. Zeige ihn in der UI an, verwende ihn jedoch nicht, um Zugriff zu gewähren. Siehe unten unter „Zahlung überprüfen“.
string
Wird für Subscription-Checkouts gesetzt.
string[]
Wird gesetzt, wenn der Checkout Produkte mit Lizenzschlüsseln enthält.
string
Wird gesetzt, wenn der Checkout eine E-Mail-Adresse erfasst.
Record<string, string>
Jeder Query-Parameter aus der Return-URL, unverändert.
Zahlung überprüfen
Webhooks
Dodo Payments ruft dein Backend auf, wenn eine Zahlung erfolgreich ist oder ein Subscription aktiviert wird.
Get Payment Detail
Rufe
paymentId mit deinem Secret Key ab, um den Status direkt zu überprüfen.result.status.
Fehler
start wird nur bei Fehlbedienung oder einem Plattformfehler mit einem CheckoutError abgelehnt. Eine stornierte oder abgelehnte Zahlung ist immer ein Ergebnis, niemals eine Exception.
INVALID_CHECKOUT_URL: keinecheckout.dodopayments.com-Session-URL.INVALID_RETURN_URL: keine gültige absolute URL.ALREADY_IN_PROGRESS: Ein Checkout läuft bereits.PLATFORM_ERROR: unerwarteter Plattformfehler.
Abgebrochene Sessions
Wenn die App oder das JS-Bundle während des Checkouts beendet wird, geht das Promise verloren, aber die native Ebene behält die Session bei. Stelle sie beim nächsten Mount wieder her und gleiche sie mit deinem Backend ab.Verwandte Inhalte
Mobile Integration Guide
Derselbe Vertrag für Android, iOS und Flutter.
Expo Boilerplate
Ein vollständiges Expo-Beispiel mit Checkout-Integration.