> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Produits

> Créez des produits à paiement unique, par abonnement ou basés sur l'utilisation en quelques minutes. Gérez les prix, les médias, les champs et les droits automatisés - le tout au même endroit.

<Info>
  Les produits sont la base de Dodo Payments. Que vous vendiez un téléchargement ponctuel, un abonnement récurrent ou un accès à la consommation, vous commencez par créer un produit. Chaque produit définit son tarif, sa présentation lors du paiement et son exécution après l’achat.
</Info>

<CardGroup cols={3}>
  <Card title="One‑Time" icon="credit-card" href="/features/one-time-payment-products">
    Facturez une seule fois pour un accès à vie ou un livrable unique.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Facturez selon un calendrier avec essais, prorata et options supplémentaires.
  </Card>

  <Card title="Usage‑Based" icon="arrow-trend-up" href="/features/usage-based-billing/introduction">
    Consommation du compteur et facture selon l'utilisation réelle.
  </Card>
</CardGroup>

## Créer un produit

Vous pouvez créer des produits depuis le tableau de bord ou via l'API. Choisissez le modèle de tarification à l'avance : Unique, Abonnement ou Basé sur l'utilisation, puis configurez les détails. Le modèle de tarification ne peut pas être changé par la suite ; créez un nouveau produit si vous avez besoin d'un modèle différent.

<Steps>
  <Step title="Name & description">
    Indiquez un titre clair et une description concise axée sur la valeur. Le Markdown est pris en charge dans les descriptions.

    <Tip>
      Gardez la première phrase orientée client et axée sur les résultats ; elle apparaît de manière visible lors du paiement.
    </Tip>

    <Frame>
      <img src="https://mintcdn.com/dodopayments/r-ndtvzx3WhKqwER/images/products.png?fit=max&auto=format&n=r-ndtvzx3WhKqwER&q=85&s=fb41221c4f2af4de0155e71de1ac6904" alt="Produits" style={{ maxHeight: '500px', width: 'auto' }} width="1911" height="927" data-path="images/products.png" />
    </Frame>
  </Step>

  <Step title="Pricing model & price">
    Select the pricing model:

    * **Unique** : Prix fixe payé une fois.
    * **Abonnement** : Prix récurrent avec intervalle et essai optionnel.
    * **Basé sur l'utilisation** : Prix dérivé d'événements mesurés.

    Ensuite, définissez les prix :

    * **Prix** : Montant de base et devise.
    * **Remise (%)** : Remise optionnelle affichée lors de la commande et sur les factures.
    * Pour les abonnements, définissez **Répéter tous les** (par exemple, 1 mois ou 1 an) et **Jours d'essai** si nécessaire. Le prix de l'abonnement doit être d'au moins **1 \$** (ou l'équivalent dans la devise choisie) ; les montants inférieurs à ce minimum ne sont pas pris en charge et l'abonnement ne fonctionnera pas.

    <Warning>
      Modifier le prix n’affecte que les nouveaux achats. Les abonnements existants suivent les règles de changement de plan.
    </Warning>
  </Step>

  <Step title="Product media">
    Téléchargez des images pour mettre en valeur le produit lors du paiement et sur les factures. PNG/JPG/WebP pris en charge jusqu’à 3 Mo. Réorganisez ou remplacez à tout moment.
  </Step>

  <Step title="Automated entitlements (Under Advanced Settings)">
    Ajoutez une exécution qui s’active automatiquement après le paiement :

    * **Clés de licence** : Émettre et valider des clés uniques
    * **Téléchargements de fichiers** : Accorder un accès sécurisé aux fichiers
    * **Personnalisé** : Déclencher votre propre logique de droits via des webhooks

    Ajoutez ou supprimez des avantages au fur et à mesure que votre offre évolue. Les abonnés existants gagnent ou perdent l’accès en conséquence.
  </Step>
</Steps>

## Variantes et options de tarification

Au lieu de variantes sous un seul produit, créez des produits séparés pour chaque option de tarification (par exemple, Mensuel et Annuel). Regroupez-les ensuite dans une **Collection de Produits** afin de présenter toutes les options dans un seul paiement et d'activer le changement de plan dans le Portail Client.

<Frame>
  <img src="https://mintcdn.com/dodopayments/2YrxTqbaYgAm54C_/images/product-collection/checkout-page.png?fit=max&auto=format&n=2YrxTqbaYgAm54C_&q=85&s=1890932384bc32c8126c7993f3581855" alt="Collections de produits" style={{ maxHeight: '500px', width: 'auto' }} width="1440" height="960" data-path="images/product-collection/checkout-page.png" />
</Frame>

### Pourquoi cette approche ?

* **Modèles de tarification clairs** : Chaque produit a un modèle de tarification unique et bien défini (unique, abonnement, ou basé sur l'utilisation)
* **APIs prévisibles** : Intégrations plus simples sans logique de variante imbriquée
* **Reporting plus facile** : Suivre les revenus et les métriques par produit sans agrégation de variantes
* **Paiement flexible** : Afficher plusieurs produits côte à côte, permettant aux clients de comparer et de choisir

### Comment fonctionnent les Collections de Produits

1. **Créer des produits** : Configurez des produits individuels pour chaque plan (par exemple, Starter Mensuel, Starter Annuel, Pro Mensuel, Pro Annuel)
2. **Regrouper dans une collection** : Ajoutez des produits connexes à une Collection de Produits
3. **Paiement unifié** : Les clients voient toutes les options dans un seul paiement et choisissent leur plan préféré
4. **Changement de plan** : Les clients peuvent passer à un produit supérieur ou inférieur dans la même collection via le Portail Client

<Card title="Product Collections" icon="layer-group" href="/features/product-collections">
  Regroupez les produits connexes pour des expériences de paiement unifiées et des parcours de montée/descente en charge fluides.
</Card>

## Gestion des produits

Vous pouvez gérer les produits via le tableau de bord ou de manière programmatique via l'API. L'API offre un contrôle total sur la création, les mises à jour, la récupération, les téléversements d'images et l'archivage des produits.

### Gestion du tableau de bord

* **Mettre à jour** : Modifiez le nom, la description, les images, le prix, les champs et les avantages à tout moment (le modèle de tarification est immuable).
* **Archiver** : Masquez un produit des nouveaux achats sans perturber les clients existants. Vous pouvez le désarchiver plus tard.

### Gestion de l'API

Les instructions suivantes vous permettent de créer, mettre à jour, gérer et récupérer des produits, y compris le téléversement d'images.

<AccordionGroup>
  <Accordion title="Creating a Product">
    Un produit peut être un article ponctuel ou un service par abonnement. Pour créer un nouveau produit, envoyez une requête `POST` au point de terminaison `/products` avec des détails tels que le nom, la description, le prix, la devise et le fait qu’il s’agisse d’un produit récurrent.

    Pour les produits récurrents, définissez l'objet `price` à un prix récurrent (`type: recurring_price`) et spécifiez `payment_frequency_interval` et `subscription_period_interval` (`Day`, `Week`, `Month`, ou `Year`) ainsi que leurs comptes correspondants.

    <Card title="Create Product API" icon="code" href="/api-reference/products/post-products">
      Consultez la structure détaillée de la requête et de la réponse dans la documentation de l’API Create Product.
    </Card>
  </Accordion>

  <Accordion title="Updating a Product">
    Pour modifier un produit existant, envoyez une requête `PATCH` au point de terminaison `/products/{product_id}`. Vous pouvez mettre à jour des propriétés telles que le nom, le prix et la description tout en conservant les autres détails inchangés.

    Assurez-vous que le `product_id` dans le point de terminaison correspond à un produit existant.

    <Card title="Update Product API" icon="code" href="/api-reference/products/patch-products">
      Consultez la structure détaillée de la requête et de la réponse dans la documentation de l’API Update Product.
    </Card>
  </Accordion>

  <Accordion title="Retrieving Products">
    Vous pouvez récupérer la liste des produits stockés dans votre compte en envoyant une requête `GET` au point de terminaison `/products`. Cela vous permet d’obtenir les détails des produits, actifs et archivés.

    <Card title="Retrieve Products API" icon="code" href="/api-reference/products/get-products">
      Consultez la structure détaillée de la requête et de la réponse dans la documentation de l’API Retrieve Products.
    </Card>
  </Accordion>

  <Accordion title="Uploading Product Images">
    Vous pouvez associer une image à un produit en la téléchargeant sur AWS S3 via une URL pré-signée fournie par l’API. Demandez d’abord une URL de téléchargement d’image au point de terminaison `/products/{product_id}/images`, puis utilisez l’URL fournie pour télécharger l’image dans les 60 secondes.

    <Warning>
      L’URL pré-signée expire au bout de 60 secondes, donc l’image doit être téléchargée dans ce délai.
    </Warning>

    Une fois que l’API a renvoyé l’URL pré-signée, téléchargez l’image en utilisant la méthode `PUT`. Cela garantit un accès sécurisé et temporaire à AWS S3 pour le téléchargement de l’image.

    **Bibliothèques prises en charge pour le téléchargement vers S3 :**

    * **Node.js** : `axios`, `node-fetch`
    * **Python** : `requests`, `boto3`
    * **Go** : `net/http`
    * **PHP** : `GuzzleHttp`
    * **Ruby** : `rest-client`

    Si le téléchargement réussit, AWS S3 renverra un statut `200 OK`, indiquant que l’image a été stockée avec succès.

    <Card title="Upload Product Image API" icon="code" href="/api-reference/products/put-products-images">
      Consultez la structure détaillée de la requête et de la réponse dans la documentation de l’API Upload Product Image.
    </Card>
  </Accordion>

  <Accordion title="Archiving a Product">
    Si vous ne souhaitez plus afficher ou utiliser un produit, vous pouvez l'archiver à l'aide d'une requête `DELETE` vers le point de terminaison `/products/{id}`. Cette action masque le produit mais ne le supprime pas définitivement.

    <Card title="Archive Product API" icon="code" href="/api-reference/products/archive-product">
      Consultez la structure détaillée de la requête et de la réponse dans la documentation de l’API Archive Product.
    </Card>
  </Accordion>

  <Accordion title="Unarchiving a Product">
    Si vous devez restaurer un produit archivé, envoyez une requête `POST` au point de terminaison `/products/{product_id}/unarchive`. Cela réactivera le produit et le rendra à nouveau disponible.

    <Card title="Unarchive Product API" icon="code" href="/api-reference/products/unarchive-product">
      Consultez la structure détaillée de la requête et de la réponse dans la documentation de l’API Unarchive Product.
    </Card>
  </Accordion>

  <Accordion title="Checkout & fulfillment">
    Créez des flux de paiement ou d’abonnement à partir des produits et exécutez-les automatiquement via les avantages et les webhooks.

    <CardGroup cols={3}>
      <Card title="Checkout Sessions" icon="code" href="/developer-resources/checkout-session">
        Create checkout sessions for one‑time or subscription purchases.
      </Card>

      <Card title="Payment Webhooks" icon="code" href="/developer-resources/webhooks/intents/payment">
        React to payment lifecycle events.
      </Card>

      <Card title="Subscription Webhooks" icon="code" href="/developer-resources/webhooks/intents/subscription">
        Handle subscription created, renewed, and canceled events.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Meilleures pratiques

* **Commencer par la clarté** : Produits séparés pour chaque option de tarification (Mensuel contre Annuel)
* **Utiliser les essais judicieusement** : Associez les essais à l'intégration pour favoriser l'activation
* **Automatiser l'exécution** : Utilisez des avantages et des webhooks pour offrir instantanément
* **Taguer avec des métadonnées** : Stockez vos identifiants système pour une réconciliation

<Check>
  Vous êtes prêt à créer des produits et à commencer à vendre : ponctuels, récurrents ou à la consommation.
</Check>

## Connexes

<Card title="Product Analytics" icon="chart-mixed" href="/features/analytics-and-reporting#product-level-analytics">
  Suivez les revenus, les clients, la rétention, les abonnés et le MRR pour chaque produit individuel.
</Card>
