Passer au contenu principal

Nouvelles Fonctionnalités

1. Collections de Produits

Regroupez des produits similaires pour des expériences de paiement unifiées, la sélection de plans et des voies d’upgrade/downgrade sans heurts au sein du Portail Client.
Page de paiement de la Collection de Produits montrant plusieurs options de plan
Avantages Clés
  • Paiement basé sur la collection : Affichez tous les produits d’une collection dans une vue de paiement, permettant aux clients de comparer et de choisir leur plan préféré
  • Gestion de produit organisée : Regroupez des produits similaires (par exemple, Starter, Pro, Entreprise) sous une seule collection
  • Intégration du Portail Client : Permettre aux clients de mettre à niveau ou de rétrograder entre les produits d’une même collection
  • Contrôle du commerçant : Activer, désactiver et réorganiser les produits dans chaque collection
Comment Ça Marche Créez une session de paiement pour une collection :
const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});

// Redirect customer to the checkout
window.location.href = session.url;
Résultat : Une expérience de paiement unifiée où les clients peuvent voir et sélectionner tous les produits disponibles dans votre collection.
Le paiement par collection est idéal pour les entreprises d’abonnement où vous souhaitez que les clients comparent les plans côte à côte avant d’acheter.
En savoir plus : Guide des Collections de Produits

2. Méthodes de Paiement RevolutPay & Billie pour la Monnaie GBP

Options de paiement élargies avec RevolutPay et Billie désormais disponibles dans le monde entier pour les transactions de paiement uniques en GBP, offrant à vos clients plus de flexibilité dans leurs paiements. Nouvelles Méthodes de Paiement
Méthode de PaiementPays Pris en ChargeMonnaieSupport d’Abonnement
RevolutPayGlobalGBPNon (uniquement en une fois)
BillieGlobalGBPNon (uniquement en une fois)
  • RevolutPay – Paiements rapides et transparents pour les utilisateurs de Revolut dans le monde entier
  • Billie – Solution B2B Acheter Maintenant Payer Plus Tard permettant aux entreprises d’offrir des modalités de paiement flexibles à leurs clients
Ces méthodes de paiement sont automatiquement disponibles pour les transactions en GBP. Aucune configuration supplémentaire n’est requise.
En savoir plus : Méthodes de Paiement

3. Aperçu de la Session de Paiement

Prévisualisez les sessions de paiement avant de les créer pour calculer avec précision les prix, taxes, remises et totaux. Affichez les vrais prix aux clients avant qu’ils ne passent à la caisse. Comment Ça Marche
const preview = await client.checkoutSessions.preview({
  product_cart: [
    { product_id: 'prod_123', quantity: 1 }
  ],
  billing_address: {
    country: 'US',
    state: 'CA',
    zipcode: '94102'
  },
  discount_code: 'SAVE20'
});

console.log('Subtotal:', preview.subtotal);
console.log('Tax:', preview.tax);
console.log('Discount:', preview.discount);
console.log('Total:', preview.total);
Cas d’Utilisation
  • Affichages de prix personnalisés : Montrez des totaux précis incluant la taxe avant la finalisation de l’achat
  • Validation des remises : Vérifiez les codes de remise et montrez les économies aux clients
  • Support multi-monnaie : Prévisualisez les prix dans différentes monnaies
  • Sommaires de panier : Créez des UI de panier personnalisées avec des prix en temps réel

Aperçu de l'API de Référence

Consultez la documentation complète de l’endpoint d’aperçu.

4. Support des Métadonnées dans les Requêtes de Changement de Plan

Passez des métadonnées personnalisées lors du changement de plans d’abonnement, permettant un meilleur suivi et une intégration avec vos systèmes internes pendant les transitions de plan.
// Adding metadata when changing a subscription plan
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_premium',
  proration_billing_mode: 'prorated_immediately',
  quantity: 1,
  metadata: {
    upgrade_reason: 'feature_request',
    previous_plan: 'basic',
    sales_rep: 'john@company.com'
  }
});
Cas d’Utilisation
  • Suivre les raisons d’upgrade/downgrade : Stockez pourquoi les clients ont changé de plan
  • Lier aux enregistrements CRM : Associez les changements de plan aux activités de vente
  • Catégorisation interne : Taguer les changements de plan pour les rapports et l’analyse
  • Pistes d’audit : Maintenir des enregistrements de qui a initié les changements de plan
Les métadonnées sont incluses dans les événements de webhook, facilitant le traitement des changements de plan avec vos données personnalisées.
En savoir plus : Guide des Métadonnées | API de Changement de Plan

5. invoice_url Champ dans la Réponse de Paiement et la Réponse de Lien de Paiement

La Réponse de Paiement et la Réponse de Lien de Paiement incluent désormais un champ invoice_url, fournissant un accès direct à la facture associée à chaque paiement.
{
  "payment_id": "pay_2IjeQm4hqU6RA4Z4kwDee",
  "status": "succeeded",
  "invoice_url": "https://dodopayments.com/invoices/inv_2IsUnWGtRKFLxk7xAQeyt",
  "amount": 9900,
  "currency": "USD",
  // ... other fields
}
Cas d’Utilisation
  • Communication avec le client : Envoyez des liens de factures directement aux clients
  • Intégration comptable : Liez les paiements aux factures dans votre logiciel de comptabilité
  • Portails en libre-service : Permettez aux clients d’accéder facilement à leurs factures
  • Conservation des enregistrements : Maintenez des références directes aux documents de facturation

Obtenir l'API de Paiement

Consultez le schéma de la Réponse de Paiement.

6. Point de Validation des Remises par Nom de Code

Nouveau point d’API pour valider et récupérer les codes de remise par leur nom de code (par exemple, “SAVE20”) au lieu d’utiliser l’ID de remise interne. Vérifiez l’éligibilité des remises avant de les appliquer lors du paiement.
// Validate a discount code before checkout
const discount = await client.discounts.getByCode('SAVE20');

console.log('Discount type:', discount.type);
console.log('Discount value:', discount.amount);
console.log('Valid until:', discount.expires_at);
Avantages
  • Validation pré-paiement : Vérifiez les codes de remise avant de créer des sessions de paiement
  • Retour d’information en temps réel : Montrez aux clients si leur code est valide
  • Gestion des erreurs : Détectez les codes invalides ou expirés tôt
  • UI de remise personnalisées : Créez des champs d’entrée de code de remise avec validation instantanée

Obtenir l'API de Remise par Code

Consultez la documentation complète de l’endpoint.

7. Capacités de Filtrage Améliorées pour les Clients, Remises et Clés de Licence

Nouveaux filtres API pour lister les Clients, Remises et Clés de Licence, facilitant la recherche et la gestion de vos données par programmation. Filtres API Clients
FiltreDescription
emailFiltrer par email client
nameFiltrer par nom client (correspondance partielle, insensible à la casse)
created_at_gteFiltrer les clients créés à partir de ce timestamp
created_at_lteFiltrer les clients créés jusqu’à ce timestamp
// Find customers by name created in the last 30 days
const customers = await client.customers.list({
  name: 'John',
  created_at_gte: '2026-01-01T00:00:00Z'
});
Filtres API Remises
FiltreDescription
codeFiltrer par code de remise (correspondance partielle, insensible à la casse)
discount_typeFiltrer par type de remise (pourcentage)
activeFiltrer par statut actif (vrai = non expiré, faux = expiré)
product_idFiltrer par restriction de produit (uniquement les remises applicables à ce produit)
// Find active percentage discounts for a specific product
const discounts = await client.discounts.list({
  active: true,
  discount_type: 'percentage',
  product_id: 'prod_123'
});
Filtres API Clés de Licence
FiltreDescription
customer_idFiltrer par ID client
statusFiltrer par statut de clé de licence (active, expired, disabled)
product_idFiltrer par ID de produit
created_at_gteFiltrer les clés de licence créées à partir de ce timestamp
created_at_lteFiltrer les clés de licence créées jusqu’à ce timestamp
// Find active license keys for a specific product
const licenseKeys = await client.licenseKeys.list({
  status: 'active',
  product_id: 'prod_123'
});

8. Améliorations UI/UX dans le Tableau de Bord

Cette version comprend de nombreuses améliorations UI/UX dans tout le tableau de bord pour une expérience plus intuitive et raffinée. Points Forts
  • Navigation améliorée et cohérence de la mise en page
  • Interactions avec les tableaux de données améliorées
  • Meilleurs états de chargement et retours d’information
  • Éléments de design visuel affinés
  • Meilleure réactivité mobile