Passer au contenu principal

Nouvelles fonctionnalités

1. Analyses par produit

Chaque produit dispose désormais de son tableau d’analyses dédié. Rendez-vous dans Produits > [Sélectionner un produit] pour accéder aux métriques détaillées propres à ce produit, organisées en cinq onglets :
Product-Level Analytics
OngletCe que vous obtenez
Vue d’ensembleChiffre d’affaires total, nombre de paiements réussis, graphique de tendance du chiffre d’affaires sur 30 jours (quotidien ou cumulatif), et tableau des transactions filtrable
ClientsTop 3 des clients classés par dépenses avec vue podium, plus un tableau détaillé des clients
RétentionTaux de désabonnement client, taux de perte de chiffre d’affaires, et graphique à deux courbes pour repérer les tendances
AbonnésToutes les souscriptions du produit avec statut, date de début, prochaine date de facturation et montant
MRRHistogramme empilé des revenus récurrents mensuels avec ventilations des nouveaux MRR, MRR d’expansion, MRR perdu et net MRR
Tous les onglets prennent en charge un filtre de dates (par défaut : Toutes périodes) pour examiner n’importe quelle période.
Utilisez l’onglet Rétention pour identifier rapidement les produits à forte attrition, et l’onglet MRR pour suivre si les revenus d’expansion compensent les revenus perdus mois après mois.
En savoir plus : Product-Level Analytics

2. Support Verifi RDR sur Dodo Payments

Dodo Payments prend désormais en charge Visa Rapid Dispute Resolution (RDR) propulsé par Verifi — un outil automatisé de prévention des litiges qui résout les litiges Visa éligibles avant qu’ils ne deviennent des rétrofacturations officielles. Lorsqu’un titulaire de carte initie un litige, RDR l’intercepte et émet automatiquement un remboursement si la transaction est inférieure à votre seuil USD configuré. Pourquoi c’est important
AvantageImpact
Taux de litiges réduitLes litiges résolus via RDR ne comptent pas dans le seuil de 0,9 % de Visa
Aucune frais de litigeÉvitez les frais non remboursables de 15 à 25 $ par litige
Zéro charge opérationnellePas de collecte de preuves ni de délais de réponse
Meilleure expérience clientLes titulaires reçoivent des remboursements instantanés
Protection du compteRestez hors du programme de surveillance des litiges de Visa (VDMP)
Dépasser le taux de litige de 0,9 % de Visa ou 100 litiges par mois déclenche le VDMP, avec des amendes progressives pouvant atteindre plus de 50 000 $/mois. RDR vous aide à rester largement en dessous de ces seuils.
Comment ça fonctionne
  1. Le titulaire de carte initie un litige auprès de sa banque
  2. RDR intercepte le litige avant qu’il ne devienne une rétrofacturation officielle
  3. Si le montant de la transaction est inférieur ou égal à votre seuil, un remboursement est automatiquement émis
  4. Le litige est résolu instantanément et ne compte pas dans votre taux de litiges
Les transactions remboursées automatiquement via RDR apparaissent comme un litige perdu dans votre tableau de bord Dodo Payments. C’est normal — le remboursement a été émis automatiquement pour éviter une rétrofacturation officielle.
Pour activer Verifi RDR sur votre compte, contactez support@dodopayments.com afin de configurer votre seuil. En savoir plus : Visa RDR Documentation

3. DodoPayments CLI

Voici la toute nouvelle DodoPayments CLI (dodopayments-cli) — gérez l’intégralité de votre flux Dodo Payments directement depuis le terminal. Conçue pour les développeurs adeptes de la ligne de commande, la CLI vous permet de gérer produits, paiements, clients, remises, licences, addons, remboursements et même créer des sessions d’encaissement sans quitter votre éditeur. Installation
npm install -g dodopayments-cli
Commandes clés
CommandeDescription
dodo loginAuthentifiez-vous avec votre clé API (ouvre un navigateur)
dodo products listListe tous les produits
dodo payments listListe tous les paiements
dodo customers createCrée un nouveau client
dodo checkout newCrée une session d’encaissement et récupère l’URL
dodo wh listenRedirige les webhooks de test en direct vers votre serveur local via WebSocket
dodo wh triggerEnvoie des charges utiles webhook simulées vers n’importe quel endpoint
Tests Webhook La CLI inclut deux outils puissants pour le développement :
  • dodo wh listen — Ouvre une connexion WebSocket pour rediriger les webhooks de test en temps réel vers votre serveur local, en conservant les en-têtes d’origine pour tester la vérification des signatures
  • dodo wh trigger — Envoie interactivement des charges utiles webhook simulées, prenant en charge les 22 types d’événements liés aux souscriptions, paiements, remboursements, litiges et licences
L’écoute Webhook ne fonctionne qu’avec une clé API en mode test. Assurez-vous d’être connecté avec une clé en mode test avant d’utiliser dodo wh listen.
En savoir plus : CLI Documentation

4. Refonte de l’interface du portail client

Le portail client a été entièrement repensé avec une interface claire et unifiée. Le portail revu propose une navigation par barre latérale gauche et des sections organisées, offrant aux clients une expérience d’auto-service plus intuitive.
Customer Portal UI Revamp
Nouveautés
SectionFonctionnalités
Abonnements actifsAffiche tous les abonnements actifs avec détails du plan, cycle de facturation et date du prochain paiement
Méthodes de paiementGérez les méthodes enregistrées, ajoutez de nouvelles cartes et mettez à jour les détails de paiement
Historique de facturationConsultez les factures passées avec reçus PDF téléchargeables
Informations de facturationModifiez le nom, l’email, le numéro de téléphone et l’adresse de facturation
Détails d’abonnementAffichez les infos détaillées de l’abonnement avec options d’annulation ou de changement de plan
Modifications de planPassez à un plan supérieur ou inférieur via les collections de produits directement dans le portail
Les clients peuvent également mettre à jour les méthodes de paiement des abonnements actifs ou réactiver des abonnements suspendus à cause de paiements échoués — tout ceci depuis le portail repensé.
Le portail repensé est disponible à https://customer.dodopayments.com/login/{business_id} pour le mode live et https://test.customer.dodopayments.com/login/{business_id} pour le mode test.
En savoir plus : Customer Portal

5. Mise à jour de la méthode de paiement dans l’encaissement en ligne

Le inline checkout prend désormais en charge la mise à jour de la méthode de paiement pour les abonnements. Lorsqu’un client doit mettre à jour sa méthode de paiement (pour un abonnement actif ou pour réactiver un abonnement en attente), le flux de mise à jour peut maintenant s’afficher directement dans la mise en page de votre page via l’encaissement en ligne — offrant une expérience intégrée fluide. Comment cela fonctionne
  1. Appelez l’API de mise à jour de la méthode de paiement pour obtenir un payment_link :
const response = await client.subscriptions.updatePaymentMethod('sub_123', {
  type: 'new',
  return_url: 'https://example.com/return'
});
  1. Utilisez le payment_link retourné comme checkoutUrl dans l’encaissement en ligne :
DodoPayments.Checkout.open({
  checkoutUrl: response.payment_link,
  elementId: "dodo-inline-checkout"
});
Le cadre inline ne rend que le formulaire de collecte de la méthode de paiement, permettant aux clients de saisir de nouvelles cartes ou de sélectionner une méthode enregistrée sans quitter votre page.
Pour les abonnements en attente, le flux de mise à jour crée automatiquement une charge pour les montants dus restants. Surveillez les webhooks payment.succeeded et subscription.active pour confirmer la réactivation.
En savoir plus : Inline Checkout | Mises à jour de la méthode de paiement d’abonnement

6. Prise en charge du préremplissage de l’identifiant fiscal pour les sessions d’encaissement

Vous pouvez désormais préremplir l’identifiant fiscal (par ex. numéro de TVA, numéro de TPS) lors de la création d’une session d’encaissement en utilisant le paramètre tax_id. Cela est idéal pour les transactions B2B lorsque vous connaissez déjà le numéro d’identification fiscale du client. Lorsqu’un identifiant fiscal est prérempli, le champ est rempli automatiquement et verrouillé dans le formulaire d’encaissement.
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  billing_address: { country: 'DE' },
  tax_id: 'DE999999999',
  return_url: 'https://yoursite.com/return'
});
Le paramètre tax_id nécessite une billing_address contenant au moins un champ country. L’éligibilité fiscale est validée en temps réel, et les règles d’auto-liquidation sont appliquées automatiquement pour les transactions B2B qualifiantes.
Utilisez le drapeau de fonctionnalité allow_customer_editing_tax_id pour contrôler si les clients peuvent modifier l’identifiant fiscal prérempli, et allow_tax_id pour basculer la visibilité de l’identifiant fiscal lors de l’encaissement. En savoir plus : Checkout Sessions - Tax ID | Paiements B2B

7. Clé de licence et email dans l’URL de redirection de retour

Après qu’un client ait terminé son encaissement, Dodo Payments ajoute désormais license_key et email comme paramètres de requête à votre redirection return_url, en plus des paramètres existants payment_id/subscription_id et status. Paramètres de requête ajoutés
ParamètreTypeCondition
payment_idstringToujours présent pour les paiements ponctuels
subscription_idstringToujours présent pour les paiements récurrents
statusstringToujours présent
license_keystringPrésent si le produit a les clés de licence activées (séparées par des virgules pour plusieurs)
emailstringPrésent si le client a un email enregistré
Exemples d’URLs de redirection :
# One-time payment with license key
https://yoursite.com/return?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com

# Subscription with multiple license keys
https://yoursite.com/return?subscription_id=sub_xxx&status=active&license_key=LK-001,LK-002&email=customer%40example.com
Utilisez ces paramètres de requête pour afficher les clés de licence ou envoyer un email de confirmation immédiatement sur votre page de retour, sans appel d’API supplémentaire.
En savoir plus : Checkout Sessions - Return URL | License Keys in Return URL

8. API de mise à jour de l’email client

Le endpoint PATCH /customers/{customer_id} prend désormais en charge la mise à jour des adresses email client de manière programmatique. Mettez à jour l’email ainsi que le nom, le numéro de téléphone et les métadonnées en un seul appel API.
await client.customers.update('cus_123', {
  email: 'newemail@example.com',
  name: 'Updated Name'
});
Champs modifiables
ChampTypeDescription
emailstring | nullAdresse email du client
namestring | nullNom affiché du client
phone_numberstring | nullNuméro de téléphone au format international
metadataobject | nullPaires clé-valeur personnalisées
Les mises à jour d’email client sont également disponibles via le portail client (auto-service), le tableau de bord et la CLI via dodo customers update.
En savoir plus : Customer Update API | Customer Management

9. Sortie de l’adaptateur Bun

Présentation de @dodopayments/bun — un adaptateur de framework dédié pour le serveur natif de Bun (Bun.serve()). Intégrez l’encaissement, le portail client et les webhooks avec Bun en quelques lignes de code. Installation
bun add @dodopayments/bun
Configuration rapide
import { Checkout, CustomerPortal, Webhooks } from "@dodopayments/bun";

Bun.serve({
  routes: {
    "/api/checkout": Checkout({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      returnUrl: process.env.DODO_PAYMENTS_RETURN_URL!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/customer-portal": CustomerPortal({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/webhooks": Webhooks({
      webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY!,
      onPaymentSucceeded: async (payload) => {
        console.log("Payment succeeded:", payload.data.payment_id);
      },
      onSubscriptionActive: async (payload) => {
        console.log("Subscription active:", payload.data.subscription_id);
      },
    }),
  },
});
L’adaptateur Bun prend en charge les trois flux d’encaissement (statique, dynamique et basé sur une session), la génération de sessions de portail client et la gestion sécurisée des webhooks avec vérification des signatures et validation Zod sur 22 types d’événements.
L’adaptateur Bun rejoint notre famille de 11 adaptateurs de framework comprenant Next.js, Nuxt, Express, Fastify, Hono, Astro, SvelteKit, Remix, TanStack Start, Better Auth et Convex.
En savoir plus : Bun Adapter Documentation | Framework Adapters Overview