Passer au contenu principal

Checkout Handler

Intégrez le processus de paiement Dodo Payments avec des flux statiques, dynamiques et de session.

Customer Portal

Permettez aux clients de gérer leurs abonnements et leurs informations.

Webhooks

Recevez et traitez les événements webhook de Dodo Payments.

Installation

1

Install the package

Exécutez la commande suivante à la racine de votre projet :
2

Set up environment variables

Créez un fichier .env à la racine de votre projet :
Ne committez jamais votre fichier .env ni vos secrets dans le contrôle de version.

Exemples de Gestionnaires de Route

Tous les exemples supposent que vous utilisez le Next.js App Router.
Utilisez ce gestionnaire pour intégrer le checkout Dodo Payments dans votre application Next.js. Il prend en charge les flux de paiement statiques (GET), dynamiques (POST) et de session de paiement (POST).

Gestionnaire de Route de Paiement

Dodo Payments prend en charge trois types de flux de paiement pour intégrer des paiements à votre site web, cet adaptateur prend en charge tous les types de flux de paiement.
  • Liens de Paiement Statique : URL partageables instantanément pour une collecte de paiement rapide et sans code.
  • Liens de Paiement Dynamique : Générez des liens de paiement de manière programmatique avec des détails personnalisés en utilisant l’API ou les SDK.
  • Sessions de Paiement : Créez des expériences de paiement sécurisées et personnalisables avec des paniers de produits préconfigurés et des détails clients.

Paramètres de requête pris en charge

productId
string
requis
Identifiant du produit (par exemple ?productId=pdt_nZuwz45WAs64n3l07zpQR).
quantity
integer
Quantité du produit.
fullName
string
Nom complet du client.
firstName
string
Prénom du client.
lastName
string
Nom de famille du client.
email
string
Adresse e-mail du client.
country
string
Pays du client.
addressLine
string
Adresse du client.
city
string
Ville du client.
state
string
État/province du client.
zipCode
string
Code postal du client.
disableFullName
boolean
Désactiver le champ du nom complet.
disableFirstName
boolean
Désactiver le champ du prénom.
disableLastName
boolean
Désactiver le champ du nom de famille.
disableEmail
boolean
Désactiver le champ e-mail.
disableCountry
boolean
Désactiver le champ du pays.
disableAddressLine
boolean
Désactiver le champ de l’adresse.
disableCity
boolean
Désactiver le champ de la ville.
disableState
boolean
Désactiver le champ de l’état.
disableZipCode
boolean
Désactiver le champ du code postal.
paymentCurrency
string
Spécifier la devise de paiement (par exemple USD).
showCurrencySelector
boolean
Afficher le sélecteur de devise.
paymentAmount
integer
Spécifier le montant du paiement (par exemple 1000 pour 10,00 $).
showDiscounts
boolean
Afficher les champs de réduction.
metadata_*
string
Tout paramètre de requête commençant par metadata_ sera transmis en tant que métadonnée.
Si productId est manquant, le gestionnaire retourne une réponse 400. Les paramètres de requête invalides entraînent également une réponse 400.

Format de Réponse

Le paiement statique renvoie une réponse JSON avec l’URL de paiement :

Format de Réponse

Le paiement dynamique renvoie une réponse JSON avec l’URL de paiement :
Les sessions de checkout offrent une expérience de paiement hébergée plus sécurisée qui gère l’intégralité du flux de paiement pour les achats ponctuels et les abonnements avec un contrôle total de la personnalisation.Référez-vous au Guide d’Intégration des Sessions de Paiement pour plus de détails et une liste complète des champs pris en charge.

Format de Réponse

Les sessions de paiement renvoient une réponse JSON avec l’URL de paiement :

Gestionnaire de Route du Portail Client

Le Gestionnaire de Route du Portail Client vous permet d’intégrer de manière transparente le portail client Dodo Payments dans votre application Next.js.

Paramètres de requête

customer_id
string
requis
L’identifiant client pour la session du portail (par ex. ?customer_id=cus_123).
send_email
boolean
S’il est défini sur true, envoie un e-mail au client avec le lien du portail.
Retourne 400 si customer_id est manquant.

Gestionnaire de Route de Webhook

  • Méthode : Seules les requêtes POST sont prises en charge. D’autres méthodes renvoient 405.
  • Vérification de Signature : Vérifie la signature du webhook en utilisant webhookKey. Renvoie 401 si la vérification échoue.
  • Validation de Charge Utile : Validée avec Zod. Renvoie 400 pour les charges utiles invalides.
  • Gestion des Erreurs :
    • 401 : Signature invalide
    • 400 : Charge utile invalide
    • 500 : Erreur interne lors de la vérification
  • Routage des Événements : Appelle le gestionnaire d’événements approprié en fonction du type de charge utile.

Gestionnaires d’événements webhook pris en charge


Invite pour LLM

Dernière modification le 22 mai 2026