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
Démo interactive
Voir l’overlay de paiement en action avec 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
1
Installer le SDK
Installez le SDK de paiement Dodo en utilisant votre gestionnaire de paquets préféré :
2
Initialiser le SDK
Initialisez le SDK dans votre application, généralement dans votre composant principal ou point d’entrée de l’application :
3
Créer un composant de bouton de paiement
Créez un composant qui ouvre l’overlay de paiement :
4
Ajouter le paiement à votre page
Utilisez le composant de bouton de paiement dans votre application :
5
Gérer les pages de succès et d'échec
Créez des pages pour gérer les redirections de paiement :
6
Tester votre intégration
- 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 des événements de paiement enregistrés dans la console de votre navigateur.
7
Passer en production
Lorsque vous êtes prêt pour la production :
- Changez le mode en
'live':
- Mettez à jour vos URL de paiement pour utiliser des sessions de paiement en direct depuis votre backend
- Testez le flux complet en production
- Surveillez les événements et les erreurs
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 le paiement modal (par défaut), 'inline' pour le paiement intégré |
onEvent | function | Oui | Fonction de rappel pour gérer les événements de paiement |
Options de paiement
| Option | Type | Requis | Description |
|---|---|---|---|
checkoutUrl | string | Oui | URL de session de paiement provenant de l’API de création de session de paiement |
options.showTimer | boolean | Non | Afficher ou masquer le minuteur de paiement. Par défaut, c’est true. Lorsqu’il est désactivé, vous recevrez l’événement checkout.link_expired lorsque la session expire. |
options.showSecurityBadge | boolean | Non | Afficher ou masquer le badge de sécurité. Par défaut, c’est true. |
options.manualRedirect | boolean | Non | Lorsqu’il est activé, le paiement ne redirigera pas automatiquement après la finalisation. Au lieu de cela, vous recevrez les événements checkout.status et checkout.redirect_requested pour gérer la redirection vous-même. |
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 fonction de 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 auxquels vous pouvez vous abonner via la fonction de 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 | L’overlay de paiement a été ouvert |
checkout.payment_page_opened | La page de paiement a été affichée |
checkout.customer_details_submitted | Les détails du client et de facturation ont été soumis |
checkout.closed | L’overlay de paiement a été fermé |
checkout.redirect | Le paiement effectuera une redirection |
checkout.error | Une erreur s’est produite lors du paiement |
checkout.link_expired | Déclenché lorsque la session de paiement expire. Reçu uniquement lorsque showTimer est défini sur false. |
checkout.status | Déclenché lorsque manualRedirect est activé. Contient l’état du paiement (succeeded, failed, ou processing). |
checkout.redirect_requested | Déclenché lorsque manualRedirect est activé. Contient l’URL pour 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 :Support TypeScript
Le SDK est écrit en TypeScript et inclut des définitions de type complètes. Toutes les API publiques sont entièrement typées pour une meilleure expérience développeur et un support IntelliSense.Gestion des erreurs
Le SDK fournit des informations détaillées sur les erreurs via le système d’événements. Implémentez toujours une gestion appropriée des erreurs dans votre fonction de rappelonEvent :
Meilleures pratiques
- Initialisez une fois : Initialisez le SDK une fois lorsque votre application se charge, pas à chaque tentative de paiement
- Gestion des erreurs : Implémentez toujours une gestion appropriée des erreurs dans votre fonction de rappel d’événements
- Mode test : Utilisez le mode
testpendant le développement et passez àliveuniquement lorsque vous êtes prêt pour la production - Gestion des événements : Gérez tous les événements pertinents pour une expérience utilisateur complète
- URLs valides : Utilisez toujours des URLs de paiement valides provenant de l’API de création de session de paiement
- TypeScript : Utilisez TypeScript pour une meilleure sécurité de type et expérience développeur
- États de chargement : Affichez des états de chargement pendant que le paiement s’ouvre pour améliorer l’UX
- Redirections manuelles : Utilisez
manualRedirectlorsque vous avez besoin d’un contrôle personnalisé sur la navigation après le paiement - Gestion du minuteur : Désactivez le minuteur (
showTimer: false) si vous souhaitez gérer l’expiration de la session manuellement
Dépannage
Le paiement ne s'ouvre pas
Le paiement ne s'ouvre pas
Causes possibles :
- SDK non initialisé avant d’appeler
open() - URL de paiement invalide
- Erreurs JavaScript dans la console
- Problèmes de connectivité réseau
- Vérifiez que l’initialisation du SDK se produit avant d’ouvrir le paiement
- Vérifiez 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
Les événements ne se déclenchent pas
Les événements ne se déclenchent pas
Causes possibles :
- Gestionnaire d’événements mal configuré
- Erreurs JavaScript empêchant la propagation des événements
- SDK non initialisé correctement
- Confirmez que le gestionnaire d’événements est correctement configuré dans
Initialize() - Vérifiez la console du navigateur pour les erreurs JavaScript
- Vérifiez que l’initialisation du SDK s’est bien terminée
- Testez d’abord avec un gestionnaire d’événements simple
Problèmes de style
Problèmes de style
Causes possibles :
- Conflits CSS avec les styles de votre application
- Paramètres de thème non appliqués correctement
- Problèmes de design réactif
- Vérifiez les conflits CSS dans les DevTools du navigateur
- Vérifiez que les paramètres de thème sont corrects
- Testez sur différentes tailles d’écran
- Assurez-vous qu’il n’y a pas de conflits de z-index avec l’overlay
Activation d’Apple Pay
Apple Pay permet aux clients de finaliser les paiements rapidement et en toute sécurité en utilisant leurs méthodes de paiement enregistrées. Lorsqu’il est activé, les clients peuvent lancer la modalité Apple Pay directement depuis l’overlay de paiement sur les appareils pris en charge.Apple Pay est pris en charge sur iOS 17+, iPadOS 17+ et Safari 17+ sur macOS.
1
Téléchargez et téléversez le fichier d'association de domaine Apple Pay
Téléchargez le fichier d’association de domaine Apple Pay.Téléversez le fichier sur votre serveur web à
/.well-known/apple-developer-merchantid-domain-association. Par exemple, si votre site web est example.com, rendez le fichier disponible à https://example.com/well-known/apple-developer-merchantid-domain-association.2
Demander l'activation d'Apple Pay
Envoyez un e-mail à [email protected] avec les informations suivantes :
- L’URL de votre domaine de production (par exemple,
https://example.com) - Demande d’activation d’Apple Pay pour votre domaine
Vous recevrez une confirmation dans un délai de 1 à 2 jours ouvrables une fois qu’Apple Pay a été activé pour votre domaine.
3
Vérifiez la disponibilité d'Apple Pay
Après avoir reçu la confirmation, testez Apple Pay dans votre paiement :
- Ouvrez votre paiement sur un appareil pris en charge (iOS 17+, iPadOS 17+ ou Safari 17+ sur macOS)
- Vérifiez que le bouton Apple Pay apparaît comme option de paiement
- Testez le flux de paiement complet
Support des navigateurs
Le SDK de Dodo Payments Checkout prend en charge les navigateurs suivants :- Chrome (dernier)
- Firefox (dernier)
- Safari (dernier)
- Edge (dernier)
- IE11+
Paiement en overlay vs en ligne
Choisissez le bon type de paiement pour votre cas d’utilisation :| Fonctionnalité | Paiement en overlay | Paiement en ligne |
|---|---|---|
| Profondeur d’intégration | Modal sur la page | Entièrement intégré dans la page |
| Contrôle de mise en page | Limité | Contrôle total |
| Branding | Séparé de la page | Transparent |
| Effort d’implémentation | Moins élevé | Plus élevé |
| Meilleur pour | Intégration rapide, pages existantes | Pages de paiement personnalisées, flux à haute conversion |
Ressources connexes
Paiement en ligne
Intégrez directement le paiement dans votre page pour des expériences entièrement intégrées.
API des sessions de paiement
Créez des sessions de paiement pour alimenter vos expériences de paiement.
Webhooks
Gérez les événements de paiement côté serveur avec des webhooks.
Guide d'intégration
Guide complet pour intégrer Dodo Payments.