# Liste de vérification pour la mise en production

Utilisez cette liste de contrôle lorsque vous mettez votre intégration en production.

> [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 sauvegardé 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 ci-dessous.

Stripe a conçu ses environnements de production et de *bac à sable* (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) pour 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 surtout d’échanger vos [clés API](https://docs.stripe.com/keys.md).

Si vous êtes un développeur (ou si vous avez demandé à un développeur d’effectuer une intégration pour vous), prenez également en compte les postes de facture suivants avant de mise en production de votre site. Si vous utilisez Stripe par le biais d’un site web connecté ou d’un plugiciel, la plupart de ces postes de facture ne s’appliquent pas.

- [ ] Définir la version de l’API
      > Toutes les requêtes utilisent les paramètres d’API de votre compte, sauf si vous remplacez 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 de liens de rappel HTTP sont structurés selon la version d’API de votre compte, sauf si vous définissez une version d’API lors de la [création du point de terminaison](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 établie en fonction de la version de la bibliothèque utilisée. Si vous ne savez pas comment Stripe gère les versions, veuillez vous reporter à la section [versionnage](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érer les cas particuliers
      Nous avons créé plusieurs [valeurs de test](https://docs.stripe.com/testing.md) que vous pouvez utiliser pour reproduire différents états et réponses. Outre ces options, faites preuve de vigilance et testez votre intégration avec ce qui suit&nbsp;:

      - Des données incomplètes
      - Des données non valides
      - Des données dupliquées (par exemple, relancez 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érifier le traitement des erreurs d’API
      N’attendez pas la mise en production pour découvrir que vous n’avez pas correctement écrit votre code 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 défensif et qu’il traite non seulement les erreurs courantes, mais aussi toutes les possibilités.

      Lorsque vous testez votre processus de traitement des erreurs, portez une attention toute particulière aux informations qui sont renvoyées à l’utilisateur. Une carte refusée (à savoir, `cad_error`) n’est pas la même chose qu’une erreur qui touche votre système dorsal (par exemple, `invalid_request_error`).

- [ ] Vérifier vos journaux
      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 journaux 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 journaux sauvegardent uniquement les informations dont vous pourriez avoir besoin et qu’ils ne sauvegardent aucune information confidentielle (par exemple, informations de carte de crédit ou informations d’identification).

- [ ] Veillez à ne pas utiliser des objets de test
      Les objets Stripe créés dans un environnement à bac à sable (par exemple, les offres, les bons de réduction, les produits et les unités de gestion des stocks) ne sont pas utilisables 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’ID (par exemple, le même *ID* de plan et pas le même *nom*) pour garantir le bon fonctionnement de votre code.

- [ ] Vérifier que vous avez enregistré vos liens de rappel de production
      Votre compte Stripe peut avoir des [points de terminaison de lien de rappel](https://docs.stripe.com/webhooks.md) de test et de production. Si vous utilisez des liens de rappel, assurez-vous d’avoir défini des points de terminaison de production dans votre compte Stripe. Confirmez ensuite que le point de terminaison de production fonctionne exactement comme votre point de terminaison de test.

      Lors de l’examen de l’état de vos liens de rappel HTTP, vérifiez également que votre point de terminaison de production&nbsp;:

      - Traite bien les notifications de liens de rappel HTTP en retard
      - Traite bien les notifications de lien de rappel HTTP en double
      - N’exige pas que les notifications d’événements interviennent dans une commande particulière

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

- [ ] Changer et sécuriser vos clés API
      Par mesure de sécurité, nous vous recommandons de [changer régulièrement vos clés API](https://docs.stripe.com/keys.md#rolling-keys). Avant la mise en production&nbsp;:

      - Pensez à changer vos clés au cas où elles auraient été enregistrées ailleurs que dans votre base de code pendant le développement.
      - Assurez-vous que votre code ne contient aucune clé API.
      - Vérifiez les autres [bonnes pratiques en matière de gestion des clés API secrètes](https://docs.stripe.com/keys-best-practices.md) avant la mise en production de votre intégration.
