Il s’agit du SDK officiel de checkout iOS de Dodo Payments pour Swift. Il ouvre le checkout hébergé de Dodo dans une vue de navigateur native et renvoie un résultat typé.
Checkout Sessions API
Créez le checkout_url que ce SDK ouvre depuis votre backend.
Mobile Integration Guide
Découvrez comment cela s’intègre dans le flux de paiement mobile complet.
SFSafariViewController, 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.
Nécessite iOS 16+ et Swift 6.
Installation
1
Add the Package
Dans Xcode, accédez à File → Add Package Dependencies et saisissez :Sélectionnez la version 1.0.0 ou une version ultérieure.Vous pouvez également l’ajouter à votre
Package.swift :Package.swift
2
Register a Callback URL Scheme
Votre app doit enregistrer un schéma d’URL pour recevoir l’URL de retour du checkout. Ajoutez ceci à votre Vous pouvez également l’ajouter via l’interface Info → URL Types de Xcode.
Info.plist :Info.plist
Utilisation
Transmettre l’URL de retour
SFSafariViewController ne dispose d’aucun mécanisme intégré au processus pour intercepter sa propre URL de retour. Votre app doit transmettre les URL entrantes au SDK.
- SwiftUI
- SceneDelegate
Vous pouvez transmettre chaque URL en toute sécurité.
handleOpenURL agit uniquement sur les URL correspondant à votre returnUrl enregistré et renvoie false pour toute autre URL.Signification du résultat
CheckoutStatus
requis
L’un de
succeeded, failed, cancelled, pending, expired.String?
Défini lorsque l’URL de retour en incluait un. Affichez-le dans l’interface, 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.
[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.
[String: String]
Chaque paramètre de requête de l’URL de retour, mot pour mot.
Vérifier le paiement
Webhooks
Dodo Payments appelle votre backend lorsqu’un paiement est réussi ou qu’un abonnement est activé.
Get Payment Detail
Consultez
paymentId avec votre clé secrète pour vérifier directement son statut.result.status seul.
Erreurs
start génère CheckoutError uniquement en cas de mauvaise utilisation ou de défaillance de la plateforme. Un paiement annulé ou refusé renvoie toujours un résultat, jamais une exception.
invalidCheckoutUrl(INVALID_CHECKOUT_URL) : URL de session qui n’est pas une URL de sessioncheckout.dodopayments.com.invalidReturnUrl(INVALID_RETURN_URL) : URL absolue non valide.alreadyInProgress(ALREADY_IN_PROGRESS) : un checkout est déjà en cours.platformError(PLATFORM_ERROR) : défaillance inattendue de la plateforme.
Sessions abandonnées
Si l’app est arrêtée au cours du checkout, récupérez la session au prochain lancement et réconciliez-la avec votre backend.
Ressources associées
Mobile Integration Guide
Le même contrat pour Android, React Native et Flutter.
React Native SDK
Encapsule ce même cœur Swift sur iOS.