Liste de contrôle du développement
Devenez partenaire Stripe pour accéder à d’autres bonnes pratiques et recevoir des actualités et des mises à jour pertinentes de la part de Stripe.
Stripe a conçu ses modes production et test afin qu’ils fonctionnent de manière sensiblement similaire. Changer de mode revient donc surtout à changer vos clés API.
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 module d’extension, la plupart de ces conseils ne seront pas pertinents.
Toutes les requêtes utilisent les paramètres d’API de votre compte, à moins que vous ne remplaciez la version de l’API. Chaque version disponible est répertoriée dans le journal des modifications. Notez que, par défaut, la structure des événements webhook est définie en fonction de la version d’API de votre compte, sauf si vous définissez une version d’API lors de la création d’un point de terminaison.
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, veuillez vous reporter à la documentation sur le sujet.
Pour vérifier que tout est synchronisé :
- Installez la dernière version de l’API dans votre Dashboard Stripe
- Pour les langages dynamiques (Node.js, PHP, Python, Ruby) : définissez la version de l’API dans la bibliothèque côté serveur
- Pour les langages fortement typés (Go, Java, TypeScript, .NET) : installez la dernière version de la bibliothèque de votre choix
Nous avons créé plusieurs valeurs de test 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 :
- Des données incomplètes
- Des 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.
Il est toujours dommage de découvrir en mode production que votre code n’a pas été écrit de manière à prendre en charge tous les types d’erreurs possibles, y compris ceux qui ne devraient « jamais » se produire. Vérifiez bien que votre code est défensif et qu’il gère toutes les erreurs possibles, pas seulement les plus courantes.
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,
card_error
) n’est pas la même chose qu’une erreur qui touche votre système dorsal (par exemple,invalid_request_error
).Stripe consigne toutes les requêtes envoyées avec vos clés API, qui sont ensuite consultables dans le Dashboard. 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, des informations de carte de crédit ou des informations d’identification).
Les objets Stripe créés en mode test (par exemple, les plans, 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.
Votre compte Stripe peut avoir à la fois des points de terminaison de webhook de test et de production. Si vous utilisez des webhooks, 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 webhooks, vérifiez également que votre point de terminaison de production :
- Traite bien les notifications de webhooks en retard
- Traite bien les notifications de webhooks en double
- N’exige pas que les notifications d’événements interviennent dans un ordre particulier
Nous conseillons à tous les développeurs de s’abonner à notre liste de diffusion des annonces API pour se tenir informés des nouvelles fonctionnalités.
Par mesure de sécurité, nous vous conseillons de changer vos clés API régulièrement, ainsi que juste avant de passer en mode production au cas où elles aient été enregistrées à l’extérieur de votre code base pendant le développement. Assurez-vous qu’à la fin du processus, vos clés ne soient pas représentées ou stockées à plusieurs endroits, notamment dans votre logiciel de contrôle des versions.