Voici le SDK officiel de checkout React Native de Dodo Payments,
@dodopayments/react-native-checkout. Il ouvre le checkout hébergé de Dodo dans une vue de navigateur native et renvoie un résultat typé. Remarque : un ancien package sans rapport nommé dodopayments-react-native-sdk (non scoped) existe avec une API complètement différente. Cette page documente uniquement le package scoped officiel actuel.Checkout Sessions API
Créez le checkout_url depuis votre backend. Ce SDK l’ouvrira.
Mobile Integration Guide
Découvrez comment cela s’intègre au flux de paiement mobile complet.
SFSafariViewController sur iOS et un Chrome Custom Tab sur Android, ne contient aucune clé API et n’appelle jamais directement l’API Dodo. Toute la logique du checkout s’exécute dans le navigateur ; le SDK gère simplement le cycle de vie de la vue et capture l’URL de retour.
Installation
1
Install the Package
- Android
- iOS
- Expo
Le package est autolinké et récupère Aucune configuration supplémentaire n’est nécessaire ; la dépendance native est résolue automatiquement.
com.dodopayments.api:checkout-android depuis Maven.2
Register a Callback URL Scheme
Votre application doit enregistrer un schéma d’URL pour recevoir l’URL de retour du checkout.
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
Dans Remplacez
android/app/build.gradle :android/app/build.gradle
"myapp" par le schéma de votre application.Utilisation
Transmettre l’URL de retour
Le listenerLinking est requis pour la gestion de l’URL de retour sur iOS. Sur Android, handleOpenURL est une no-op qui résout false, car le cœur Android gère sa redirection nativement. Vous pouvez enregistrer le listener sans condition sur les deux plateformes.
Signification du résultat
CheckoutStatus
requis
L’une des valeurs suivantes :
succeeded, failed, cancelled, pending, expired.string
Défini lorsque l’URL de retour en contenait un. Affichez-le dans l’interface, mais ne l’utilisez pas pour accorder l’accès. Consultez Vérifier le paiement ci-dessous.
string
Défini pour les checkouts d’abonnement.
string[]
Défini lorsque le checkout inclut des produits avec des clés de licence.
string
Défini lorsque le checkout collecte une adresse e-mail.
Record<string, string>
Chaque paramètre de requête de l’URL de retour, tel quel.
Vérifier le paiement
Webhooks
Dodo Payments appelle votre backend lorsqu’un paiement réussit ou qu’un abonnement est activé.
Get Payment Detail
Recherchez
paymentId avec votre clé secrète pour vérifier directement son statut.result.status seul.
Erreurs
start rejette avec un CheckoutError uniquement en cas de mauvaise utilisation ou de défaillance de la plateforme. Un paiement annulé ou refusé est toujours un résultat, jamais une exception.
INVALID_CHECKOUT_URL: URL de session qui n’est pas unecheckout.dodopayments.com.INVALID_RETURN_URL: URL absolue non valide.ALREADY_IN_PROGRESS: un checkout est déjà en cours.PLATFORM_ERROR: défaillance inattendue de la plateforme.
Sessions abandonnées
Si l’application ou le bundle JS est arrêté en cours de checkout, la promise est perdue, mais la couche native conserve la session. Récupérez-la lors du prochain montage et réconciliez-la avec votre backend.Voir aussi
Mobile Integration Guide
Le même contrat pour Android, iOS et Flutter.
Expo Boilerplate
Un exemple Expo complet avec intégration du checkout.