Découvrez comment mettre à jour votre intégration pour utiliser les prix dans Stripe Checkout.
L’API Prices apporte de nouvelles fonctionnalités et une plus grande flexibilité dans la manière de facturer les clients. Cette nouvelle intégration offre :
Une modélisation plus unifiée pour les articles de Checkout de sorte qu’au lieu de plans, d’unités de gestion des stocks et de postes en série, chaque article est désormais un prix.
La possibilité de présenter les images de produit pour les postes récurrents.
Pour l’intégration serveur et client de Checkout, l’API Prices donne la possibilité de :
Créer un catalogue de produits et de prix réutilisable au lieu de postes ponctuels
Vous ne souhaitez pas effectuer la migration? Vous pouvez continuer à utiliser votre intégration actuelle, mais les nouvelles fonctionnalités ne sont pas prises en charge. Tout nouveau plan ou prix récurrent que vous créez peut être utilisé dans le paramètre plan de vos appels d’API actuels.
Vue d’ensemble des produits et des prix
Les prix sont une nouvelle entité de base dans Stripe qui fonctionne avec les abonnements, les factures et Checkout. Chaque prix est lié à un seul produit, et chaque produit peut avoir plusieurs prix. Les différents biens physiques ou niveaux de service doivent être représentés par des produits. La tarification de ce produit doit être représentée par des prix.
Les prix définissent le prix de base, la devise et, pour les produits récurrents, le cycle de facturation. Ceci vous permet de modifier ou d’ajouter des prix sans avoir à changer les détails de ce que vous proposez. Par exemple, vous pourriez avoir un seul produit « or » dont les prix sont de 10 USD/mois, 100 USD/an, 9 EUR/mois et 90 EUR/an, ou bien vous pourriez avoir un t-shirt bleu avec des prix de 20 USD et 15 EUR.
Les plans et unités de gestion des stocks (client uniquement) peuvent être utilisés avec la nouvelle intégration partout où les prix sont acceptés. Vous pouvez créer un produit et un prix via l’API ou par le biais du Dashboard.
Paiements ponctuels
L’intégration serveur et client présente les modifications suivantes pour les paiements ponctuels :
Au lieu de postes ad-hoc (c’est-à-dire, configurer le nom, le montant et la devise), la création d’une session Checkout demande la création d’un produit et, généralement, d’un tarif.
Au lieu de définir chaque champ dans line_items, Checkout utilise les objets produit et prix sous-jacents pour déterminer le nom, la description, le montant, la devise et les images. Vous pouvez créer des produits et des prix à l’aide de l’API ou du Dashboard.
Sans prix
Avec prix
line_items.name
product.name
line_items.description
product.description
line_items.amount
price.unit_amount
price_data.unit_amount (si défini lorsque la session Checkout est créée)
line_items.currency
price.currency
price_data.currency (si défini lorsque la session Checkout est créée)
line_items.images
product.images (affiche la première image fournie)
Code côté serveur pour les postes en série
Auparavant, vous pouviez uniquement créer des postes ponctuels en série. Avec les prix, vous pouvez continuer à configurer vos postes en série, mais vous pouvez aussi définir vos prix de manière dynamique avec price_data lorsque vous créez la session Checkout.
Lorsque vous créez la session Checkout avec price_data, référencez un identifiant produit actuel avec price_data.product ou définissez les informations du produit de manière dynamique à l’aide de price_data.product_data. L’exemple suivant illustre le flux pour créer un poste ponctuel.
Grâce à cette nouvelle intégration, vous pouvez créer un catalogue de produits et de prix à l’avance au lieu d’avoir à définir le montant, la devise et le nom chaque fois que vous créez une session Checkout.
Vous pouvez créer un produit et un prix avec l’API Price ou par le biais du Dashboard. Il vous faudra l’identifiant du prix pour créer la session Checkout. L’exemple suivant illustre comment créer un produit et un prix avec l’API :
L’intégration serveur et client présente les modifications suivantes pour les paiements récurrents :
Au lieu de subscription_data.items, tous les postes sont transmis dans un champ line_items unique.
Le mode est désormais requis. Configurez mode=subscription si la session comprend des postes récurrents.
Le code côté client reste le même. Les plans actuels peuvent être utilisés partout où les prix récurrents sont acceptés.
Code côté serveur avec des plans
Voici un exemple avant et après la création d’une session Checkout avec un essai et l’utilisation d’un plan actuel, qui peut être utilisé de manière interchangeable avec un prix. Le plan est maintenant transmis dans line_items au lieu de subscription_data.items.
Code côté serveur pour un prix récurrent avec des frais d’installation
Si vous avez des plans récurrents avec des frais d’installation ou initiaux, créez le produit et le prix représentant ces frais avant de créer la session Checkout. Consultez le tableau de correspondance pour savoir à quoi correspondent les anciens champs line_items dans la nouvelle intégration. Vous pouvez créer un produit ou un prix par le biais de l’API Prices ou du Dashboard Stripe. Vous pouvez également créer des postes ponctuels en série. L’exemple suivant utilise un identifiant de prix actuel :
Au lieu de répertorier les postes avec display_items, l’objet de la session Checkout utilise line_items. Le champ line_items ne s’affiche pas par défaut comme le faisait display_items, mais vous pouvez l’inclure en utilisant élargir lors de la création d’une session Checkout :
Depuis que line_items peut être inclus, la réponse du webhookcheckout.session.completed n’affiche plus la liste des postes par défaut. L’objet Response plus petit vous permet de recevoir vos webhooks Checkout plus rapidement. Vous pouvez récupérer les postes avec le nouvel endpoint line_items :
Welcome to the Stripe Shell!
Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your
Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe
resources in test mode.
- View supported Stripe commands:
- Find webhook events:
- Listen for webhook events:
- Call Stripe APIs: stripe [api resource] [operation] (e.g., )
Le Shell Stripe est plus optimisé sur la version bureau.