Il s’agit du SDK officiel de checkout Android (
com.dodopayments.api:checkout-android),
pour ouvrir le checkout hébergé de Dodo. Il est distinct du
SDK Kotlin backend, qui appelle l’API Dodo
Payments depuis votre serveur.Checkout Sessions API
Créez le
checkout_url que ce SDK ouvreMobile Integration Guide
Bonnes pratiques pour les parcours de checkout mobile
androidx.browser.customtabs. Il ne contient aucun code réseau et ne stocke aucune clé API. Vous transmettez un checkoutUrl provenant de la session de checkout de votre backend, et le SDK renvoie un CheckoutResult typé lorsque l’utilisateur termine ou abandonne le parcours.
Prérequis : minSdk 23, Kotlin, Java 17.
Installation
1
Add the Dependency
build.gradle.kts
2
Register a Callback URL Scheme
Définissez votre schéma de callback comme placeholder de manifeste Gradle. Le manifeste propre à la bibliothèque déclare déjà le filtre d’intention de l’activité de redirection à l’aide du token La valeur doit correspondre au schéma dans
${dodoCallbackScheme}. Cette propriété constitue donc toute la configuration nécessaire : vous n’ajoutez aucun fichier XML au manifeste :build.gradle.kts
CheckoutParams.returnUrl (par exemple myapp://checkout/return).Si vous omettez complètement le placeholder, le build échoue immédiatement avec une erreur de placeholder non résolu, au lieu d’échouer silencieusement au moment du checkout. Si vous le définissez, mais qu’il ne correspond pas au schéma de
returnUrl, DodoCheckout.start lève PLATFORM_ERROR avant d’afficher quoi que ce soit.Utilisation
Le SDK prend en charge deux styles d’appel.- Launcher (Recommended)
- Suspend Function
Enregistrez le contrat avec
registerForActivityResult, puis lancez-le :Signification du résultat
CheckoutStatus
requis
L’un des éléments suivants :
SUCCEEDED, FAILED, CANCELLED, PENDING, EXPIRED.String?
Défini lorsque l’URL de retour en contient un. Affichez-le dans l’interface utilisateur, mais ne l’utilisez pas pour accorder l’accès. Consultez la section Vérifier le paiement ci-dessous.
String?
Défini pour les checkouts d’abonnement.
List<String>?
Défini lorsque le checkout inclut des produits avec des clés de licence.
String?
Défini lorsque le checkout recueille une adresse e-mail.
Map<String, String>
Chaque paramètre de requête de l’URL de retour, mot pour mot.
Vérifier le paiement
Webhooks
Écoutez les événements de paiement en temps réel
Get Payment Detail
Interrogez le statut du paiement à la demande
CheckoutResult.status.
Erreurs
DodoCheckout.start lève CheckoutError uniquement en cas de mauvaise utilisation ou de défaillance de la plateforme. Lisez le code depuis CheckoutError.code :
INVALID_CHECKOUT_URL: session URL qui n’est pas unecheckout.dodopayments.comvalide.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, notamment lorsque le schéma dereturnUrlne correspond pas à votre placeholderdodoCallbackScheme.
CANCELLED ou FAILED), et ne lève jamais d’erreur. Avec le style launcher, les erreurs de validation sont propagées depuis launcher.launch(...).
Sessions abandonnées
Si l’application est arrêtée ou si l’utilisateur l’arrête de force pendant le checkout, le SDK stocke la session localement. Au prochain lancement de l’application, recherchez une session abandonnée et réconciliez-la avec votre backend :abandoned.createdAt est un timestamp epoch exprimé en millisecondes.
Voir aussi
Mobile Integration Guide
Bonnes pratiques pour les parcours de checkout mobile
Kotlin SDK
SDK backend pour les opérations côté serveur