# Liste de contrôle pour la mise en production

Utilisez cette liste de contrôle lors de la mise en production de votre intégration.

> [Devenez partenaire Stripe](https://stripe.com/partners/become-a-partner) pour accéder à d’autres bonnes pratiques et recevoir des actualités et des mises à jour pertinentes de la part de Stripe.

Au fur et à mesure que vous terminez et cochez les différents éléments, leur état coché ou non coché est stocké dans le cache de votre navigateur. Vous pouvez revenir à cette page à tout moment pour voir où vous en êtes.

Vous pouvez [vous connecter](https://dashboard.stripe.com) pour consulter certains de vos paramètres actuels.

Stripe a conçu son environnement de production et son *environnement de test* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes) de manière à ce qu’ils fonctionnent de la manière la plus [similaire possible](https://docs.stripe.com/keys.md#test-live-modes). Pour passer de l’un à l’autre, il suffit d’échanger vos [clés API](https://docs.stripe.com/keys.md).

Si vous êtes développeur, ou qu’un développeur crée une intégration pour vous, suivez les conseils ci-dessous avant la mise en production. Si vous utilisez Stripe par le biais d’un site Web connecté ou d’un plugin, la plupart de ces conseils ne seront pas pertinents.

- [ ] Définir la version de l'API
      > Toutes les requêtes utilisent les paramètres API de votre compte, sauf si vous rectifier la version de l’API. Le [journal des modifications](https://docs.stripe.com/changelog.md) répertorie toutes les versions disponibles. Par défaut, les événements webhook sont structurés selon la version de l’API de votre compte, sauf si vous définissez une version d’API lors de la [création du endpoint](https://docs.stripe.com/api/webhook_endpoints/create.md).

      Si vous utilisez un langage fortement typé (Go, Java, TypeScript, .NET), la bibliothèque côté serveur sélectionne la version de l’API en fonction de la version de la bibliothèque utilisée. Si vous ne savez pas comment Stripe gère le contrôle des versions, consultez [versioning](https://docs.stripe.com/sdks.md#server-side-libraries).

      Pour vérifier que tout est synchronisé&nbsp;:

      - Installez la dernière version de l’API dans [Workbench](https://dashboard.stripe.com/workbench) au sein du Dashboard
      - Pour les langages dynamiques (Node.js, PHP, Python, Ruby)&nbsp;: [définissez la version de l’API](https://docs.stripe.com/sdks.md#server-side-libraries) dans la bibliothèque côté serveur
      - Pour les langages fortement typés (Go, Java, TypeScript, .NET)&nbsp;: [installez la dernière version](https://docs.stripe.com/sdks.md#server-side-libraries) de la bibliothèque de votre choix

- [ ] Gérez les cas particuliers
      Nous avons créé plusieurs [valeurs test](https://docs.stripe.com/testing.md) que vous pouvez utiliser pour imiter différents états et réponses. Outre ces options, faites preuve de vigilance et testez votre intégration avec&nbsp;:

      - Données incomplètes
      - Données non valides
      - Des données dupliquées (par exemple, essayez la même requête pour voir ce qui se passe). Nous vous conseillons également de faire tester votre intégration par un tiers, en particulier si ce tiers n’est pas développeur lui-même.

- [ ] Vérifiez le traitement des erreurs d'API
      N’attendez pas la mise en production pour constater que votre code n’est pas écrit pour gérer tous les [types d’erreurs](https://docs.stripe.com/api/errors.md) possibles, y compris celles qui ne devraient «&nbsp;jamais&nbsp;» se produire. Assurez-vous que votre code est robuste et qu’il gère non seulement les erreurs courantes, mais toutes les éventualités aussi.

      Lorsque vous testez la gestion des erreurs, portez une attention toute particulière aux informations affichées à l’utilisateur. Une carte bancaire refusée (à savoir, `card_error`) est un cas différent d’une erreur côté serveur(par exemple, `invalid_request_error`).

- [ ] Vérifiez vos logs
      Stripe consigne toutes les requêtes envoyées avec vos clés API, qui sont ensuite consultables dans le [Dashboard](https://dashboard.stripe.com/logs). Nous vous conseillons de consigner aussi toutes les données importantes de votre côté, même si cela peut paraître redondant. Vos logs vous sauveront la mise si votre serveur ne peut pas se connecter à Stripe ou s’il y a un problème avec vos clés API, auxquels cas nous ne pourrions consigner votre requête.

      Vérifiez régulièrement que vos logs ne stockent que les informations dont vous avez besoin et qu’ils ne stockent aucune information confidentielle (par exemple des informations de carte bancaire ou des informations d’identification personnelle).

- [ ] Veillez à ne pas utiliser des objets de test
      Les objets Stripe créés dans un environnement de test (par exemple, les offres, les bons de réduction, les produits et les unités de gestion des stocks (SKU)) ne peuvent pas être utilisées en mode production. Cela évite que vos données de test soient utilisées par mégarde dans votre code de production. Lorsque vous recréez les objets en mode production, assurez-vous d’utiliser les mêmes valeurs d’identifiant (par exemple, le même identifiant d’offre et pas le même nom) pour garantir le bon fonctionnement de votre code.

- [ ] Assurez-vous d'avoir enregistré vos webhooks de production
      Votre compte Stripe peut avoir à la fois des [endpoints de webhook](https://docs.stripe.com/webhooks.md) de test et de production. Si vous utilisez des webhooks, assurez-vous d’avoir défini des endpoints de production dans votre compte Stripe. Confirmez ensuite que l’endpoint de production fonctionne exactement comme votre endpoint de test.

      Lors de l’examen de l’état de vos webhooks, vérifiez également que votre endpoint de production est bien configuré.

      - Gère les notifications de webhook différées
      - Traite bien les doublons de notification de webhook
      - N’exige pas que les notifications d’événements interviennent dans un ordre particulier

- [ ] Abonnez-vous à la liste de distribution des annonces relatives aux API
      Nous conseillons à tous les développeurs de s’abonner à notre [liste de diffusion des annonces API](https://groups.google.com/a/lists.stripe.com/forum/#!forum/api-announce) pour se tenir informés des nouvelles fonctionnalités.

- [ ] Modifier et sécuriser vos clés API
      Par mesure de sécurité, nous vous recommandons de [procéder à une rotation régulière de vos clés API](https://docs.stripe.com/keys.md#rolling-keys). Avant de passer en mode production&nbsp;:

      - Procédez à la rotation de vos clés au cas où elles auraient été enregistrées en dehors de votre code source durant la phase de développement.
      - Assurez-vous que votre code n’inclut aucune clé API.
      - Passez en revue les autres [bonnes pratiques pour la gestion des clés API secrètes](https://docs.stripe.com/keys-best-practices.md) avant de mettre votre intégration en ligne.
