Aperçu
Le SDK de paiement Dodo fournit un moyen fluide d’intégrer notre overlay de paiement dans votre application web. Construit avec TypeScript et des normes web modernes, il offre une solution robuste pour gérer les paiements avec un traitement d’événements en temps réel et des thèmes personnalisables.
Démo
Interactive Demo
Découvrez le paiement en superposition en action grâce à notre démo en direct.
Démarrage rapide
Commencez avec le SDK de paiement Dodo en quelques lignes de code :Guide d’intégration étape par étape
Install the SDK
Installez le SDK de paiement Dodo en utilisant votre gestionnaire de paquets préféré :
Initialize the SDK
Initialisez le SDK dans votre application, généralement dans votre composant principal ou point d’entrée de l’application :
Test Your Integration
- Démarrez votre serveur de développement :
- Testez le flux de paiement :
- Cliquez sur le bouton de paiement
- Vérifiez que l’overlay apparaît
- Testez le flux de paiement en utilisant des identifiants de test
- Confirmez que les redirections fonctionnent correctement
Vous devriez voir les événements du paiement consignés dans la console de votre navigateur.
Référence API
Configuration
Options d’initialisation
| Option | Type | Requis | Description |
|---|---|---|---|
mode | "test" | "live" | Oui | Mode d’environnement : 'test' pour le développement, 'live' pour la production |
displayType | "overlay" | "inline" | Non | Type d’affichage : 'overlay' pour un paiement modal (par défaut), 'inline' pour un paiement intégré |
onEvent | function | Oui | Fonction de rappel pour gérer les événements du paiement |
Options de paiement
| Option | Type | Requis | Description |
|---|---|---|---|
checkoutUrl | string | Oui | URL de session de paiement issue de l’API de création de session de paiement |
options.showTimer | boolean | Non | Affiche ou masque le minuteur du paiement. Par défaut true. Lorsqu’il est désactivé, vous recevrez l’événement checkout.link_expired lorsque la session expire. |
options.showSecurityBadge | boolean | Non | Affiche ou masque le badge de sécurité. Par défaut true. |
options.manualRedirect | boolean | Non | Lorsque cette option est activée, le paiement ne redirige pas automatiquement après la finalisation. Vous recevrez plutôt les événements checkout.status et checkout.redirect_requested pour gérer vous-même la redirection. |
Méthodes
Ouvrir le paiement
Ouvre l’overlay de paiement avec l’URL de session de paiement spécifiée.manualRedirect, gérez la finalisation du paiement dans votre rappel onEvent :
Fermer le paiement
Ferme programmatique l’overlay de paiement.Vérifier l’état
Renvoie si l’overlay de paiement est actuellement ouvert.Événements
Le SDK fournit des événements en temps réel que vous pouvez écouter via le rappelonEvent :
Données de l’événement d’état de paiement
LorsquemanualRedirect est activé, vous recevez l’événement checkout.status avec les données suivantes :
Données de l’événement de redirection de paiement demandée
LorsquemanualRedirect est activé, vous recevez l’événement checkout.redirect_requested avec les données suivantes :
| Type d’événement | Description |
|---|---|
checkout.opened | La superposition de paiement a été ouverte |
checkout.form_ready | Le formulaire de paiement est prêt à recevoir les saisies utilisateur. Utile pour masquer les états de chargement. |
checkout.payment_page_opened | La page de paiement a été affichée |
checkout.customer_details_submitted | Les coordonnées client et de facturation ont été soumises |
checkout.closed | La superposition de paiement a été fermée |
checkout.redirect | Le paiement effectuera une redirection |
checkout.error | Une erreur est survenue pendant le paiement |
checkout.link_expired | Déclenché lorsque la session de paiement expire. Reçu uniquement lorsque showTimer est réglé sur false. |
checkout.status | Déclenché lorsque manualRedirect est activé. Contient le statut du paiement (succeeded, failed ou processing). |
checkout.redirect_requested | Déclenché lorsque manualRedirect est activé. Contient l’URL vers laquelle rediriger le client. |
Options d’implémentation
Installation via le gestionnaire de paquets
Installez via npm, yarn ou pnpm comme indiqué dans le Guide d’intégration étape par étape.Implémentation CDN
Pour une intégration rapide sans étape de construction, vous pouvez utiliser notre CDN :Personnalisation du Thème
Vous pouvez personnaliser l’apparence du paiement en passant un objetthemeConfig dans le paramètre options lors de l’ouverture du paiement. La configuration du thème prend en charge les modes clair et sombre, ce qui vous permet de personnaliser les couleurs, les bordures, le texte, les boutons et les rayons de bordure.
Cette section couvre la configuration côté client du thème à l’aide du SDK Checkout. Vous pouvez également configurer les thèmes côté serveur lors de la création d’une session de paiement via l’API en utilisant le paramètre
theme_config. Consultez la personnalisation du thème de Checkout pour la configuration au niveau de l’API, ou utilisez la page Design du tableau de bord pour configurer les thèmes visuellement avec aperçu en direct.Configuration de thème basique
Configuration complète du thème
Toutes les propriétés de thème disponibles :Mode clair uniquement
Si vous souhaitez uniquement personnaliser le thème clair :Mode sombre uniquement
Si vous souhaitez uniquement personnaliser le thème sombre :Surcharge partielle du thème
Vous pouvez ne remplacer que certaines propriétés. Le paiement utilisera les valeurs par défaut pour les propriétés non spécifiées :Configuration du thème avec d’autres options
Vous pouvez combiner la configuration du thème avec d’autres options de paiement :Types TypeScript
Pour les utilisateurs de TypeScript, tous les types de configuration du thème sont exportés :Gestion des erreurs
Le SDK fournit des informations détaillées sur les erreurs via le système d’événements. Mettez toujours en place une gestion appropriée des erreurs dans votre rappelonEvent :
Bonnes pratiques
- Initialisez une fois : initialisez le SDK une seule fois au chargement de votre application, et non à chaque tentative de paiement
- Gestion des erreurs : implémentez toujours une gestion des erreurs appropriée dans votre rappel d’événements
- Mode test : utilisez le mode
testpendant le développement et basculez surliveuniquement lorsque vous êtes prêt pour la production - Gestion des événements : traitez tous les événements pertinents pour une expérience utilisateur complète
- URLs valides : utilisez toujours des URLs de paiement valides issues de l’API de création de session de paiement
- TypeScript : utilisez TypeScript pour une meilleure sécurité de typage et expérience développeur
- États de chargement : affichez des états de chargement pendant l’ouverture du paiement pour améliorer l’UX
- Redirections manuelles : utilisez
manualRedirectlorsque vous avez besoin d’un contrôle personnalisé sur la navigation post-paiement - Gestion du minuteur : désactivez le minuteur (
showTimer: false) si vous souhaitez gérer manuellement l’expiration de la session
Dépannage
Checkout not opening
Checkout not opening
Causes possibles :
- SDK non initialisé avant l’appel à
open() - URL de paiement invalide
- Erreurs JavaScript dans la console
- Problèmes de connectivité réseau
- Vérifiez que le SDK est initialisé avant d’ouvrir le paiement
- Recherchez les erreurs dans la console
- Assurez-vous que l’URL de paiement est valide et provient de l’API de création de session de paiement
- Vérifiez la connectivité réseau
Events not firing
Events not firing
Causes possibles :
- Le gestionnaire d’événements n’est pas correctement configuré
- Des erreurs JavaScript empêchent la propagation des événements
- Le SDK n’est pas correctement initialisé
- Confirmez que le gestionnaire d’événements est correctement configuré dans
Initialize() - Vérifiez la console du navigateur pour détecter les erreurs JavaScript
- Vérifiez que l’initialisation du SDK s’est déroulée avec succès
- Testez d’abord avec un gestionnaire d’événements simple
Styling issues
Styling issues
Causes possibles :
- Conflits CSS avec les styles de votre application
- Paramètres de thème mal appliqués
- Problèmes de responsive design
- Recherchez les conflits CSS dans les outils de développement du navigateur
- Assurez-vous que les paramètres du thème sont corrects
- Testez sur différentes tailles d’écran
- Vérifiez qu’il n’y a pas de conflits de z-index avec la superposition
Activation des portefeuilles numériques
Pour plus d’informations sur la configuration de Google Pay et d’autres portefeuilles numériques, consultez la page Digital Wallets.Apple Pay n’est pas encore pris en charge dans le paiement en superposition. Le support arrivera bientôt.
Compatibilité des navigateurs
Le SDK de paiement Dodo Payments prend en charge les navigateurs suivants :- Chrome (dernière version)
- Firefox (dernière version)
- Safari (dernière version)
- Edge (dernière version)
- IE11+
Paiement en superposition vs paiement intégré
Choisissez le type de paiement adapté à votre cas d’usage :| Fonctionnalité | Paiement en superposition | Paiement intégré |
|---|---|---|
| Profondeur d’intégration | Fenêtre modale au-dessus de la page | Entièrement intégré à la page |
| Contrôle de la mise en page | Limité | Contrôle total |
| Image de marque | Séparé de la page | Transparent |
| Effort de mise en œuvre | Moins important | Plus important |
| Idéal pour | Intégration rapide, pages existantes | Pages de paiement personnalisées, parcours à forte conversion |
Ressources associées
Inline Checkout
Intégrez le paiement directement dans votre page pour des expériences entièrement intégrées.
Checkout Sessions API
Créez des sessions de paiement pour alimenter vos expériences de paiement.
Webhooks
Traitez les événements de paiement côté serveur avec des webhooks.
Integration Guide
Guide complet pour intégrer Dodo Payments.