# Activer la prise en charge de l’environnement de test pour votre application publique

Activez l’installation de votre application publique en environnement de test.

Les [Environnements de test](https://docs.stripe.com/sandboxes.md) représentent l’environnement d’expérimentation propre à Stripe. Ainsi, vos utilisateurs peuvent installer des applications dans les environnements de test pour pouvoir évaluer leurs fonctionnalités.

## Prise en charge de l’environnement de test général contre prise en charge de l’environnement du mode test

Stripe prend en charge deux environnements&nbsp;: le mode production et les environnements de test. Chaque compte Stripe dispose d’environnements de test, y compris un environnement en mode test. Ce dernier est un type unique d’environnement de test dont les caractéristiques sont [différentes de celles des environnements de tests généraux](https://docs.stripe.com/testing-use-cases.md#compare). Par conséquent, votre application doit explicitement prendre en charge à la fois les environnements de test généraux et les environnements en mode test.

Pour aider plus d’entreprises à évaluer votre application avant de la mettre en production, ajoutez la prise en charge des environnements de test généraux.

### Activer la prise en charge de l’environnement de test général pour votre application

Vous pouvez activer les installations dans les environnements de test en mettant d’abord à jour le [manifeste de l’application](https://docs.stripe.com/stripe-apps/reference/app-manifest.md), puis en mettant à jour vos clés dans votre application back-end et vos webhooks.

Après avoir activé la prise en charge des environnements de test, [envoyez votre application pour vérification](https://docs.stripe.com/stripe-apps/publish-app.md). Stripe vérifie la prise en charge des environnements de test dans le cadre du [processus de vérification des applications](https://docs.stripe.com/stripe-apps/review-requirements.md).

### Environnement de test géré

Un *environnement de test géré* est un environnement que Stripe crée automatiquement dans votre compte pour prendre en charge votre application Stripe publique.

- L’identifiant public de votre application devient le nom de votre environnement de test géré.

- Lorsqu’un utilisateur installe votre application dans son environnement de test, il établit une connexion à votre environnement de test géré.

- Vous pouvez [déboguer et surveiller](https://docs.stripe.com/workbench/guides.md) les événements à partir des installations de l’environnement de test utilisateur dans votre environnement de test géré.

- Vous pouvez configurer des [webhooks connect](https://docs.stripe.com/connect/webhooks.md) dans votre environnement de test géré pour les utilisateurs de votre environnement de test.

- Les modifications apportées à un environnement de test géré n’ont pas d’influence sur les utilisateurs qui installent votre application dans un environnement de test en mode production ou en mode test.

- Vous ne pouvez pas supprimer un environnement de test géré.

## Activer l’installation de votre application publique en environnement de test général

1. Exécutez `stripe apps -v` pour vérifier que vous utilisez la dernière version de la [CLI Stripe](https://docs.stripe.com/cli/upgrade) et du [plugin Stripe Apps](https://docs.stripe.com/stripe-apps/create-app.md#install-stripe-apps-cli). Vous devez utiliser la version&nbsp;1.19.0 ou une version ultérieure avant d’importer votre application.
   ```bash
   $ stripe plugin upgrade apps
   ✔ upgrade to v1.19.0 complete.
   $ stripe -v
   stripe version 1.25.1
   $ stripe apps -v
   apps version 1.19.0
   ```
2. Mettez à jour le manifeste de l’application pour qu’il prenne en charge les installations  en environnement de test.
3. Utilisez les [clés d’API de votre environnement de test géré](https://docs.stripe.com/sandboxes/dashboard/manage-access.md) lorsque vous effectuez des appels d’API Stripe pour une installation dans un environnement de test.
4. Si vous utilisez des webhooks, créez des hooks d’événements spécifiques aux environnements de test dans votre environnement de test géré. Mettez à jour la logique côté serveur pour écouter ces nouveaux endpoints.
5. Chargez une nouvelle version de votre application sur votre compte en mode production (*et non* sur votre environnement de test géré).
6. À partir de votre compte principal, [créez un lien de test externe](https://docs.stripe.com/stripe-apps/test-app.md) pour la version compatible avec les environnements de test que vous venez de télécharger.
7. Créez et ouvrez un environnement de test pour tester votre application mise à jour.
8. Dans une fenêtre de navigateur, accédez au lien de test externe que vous avez créé précédemment pour installer votre application.
9. Vérifiez que votre application fonctionne comme prévu en l’installant dans un environnement de test.
10. Soumettez votre nouvelle version pour examen par la marketplace.

### Mettre à jour le manifeste de l’application

Pour prendre en charge l’installation de votre application dans un environnement de test, déclarez la prise en charge de l’environnement de test dans le [manifeste de l’application](https://docs.stripe.com/stripe-apps/reference/app-manifest.md#schema) à l’aide de l’attribut `sandbox_install_compatible`.

L’exemple de code suivant déclare la prise en charge de l’environnement de test&nbsp;:

```json
{
  "id": "com.invoicing.[YOUR_APP]",
  "version": "1.2.3",
  "name": "[YOUR APP] Shipment Invoicing",
  "icon": "./[YOUR_APP]_icon_32.png",
  "distribution_type": "public",
  "sandbox_install_compatible": true
}
```

### Configurer les clés API

Votre environnement de test géré possède son propre ensemble de [clés API](https://docs.stripe.com/keys.md) pour effectuer des appels d’installation dans l’environnement de test. Lorsque vous répondez à des webhooks ou à des événements spécifiques à l’environnement de test, vous devez utiliser ces [clés d’environnement de test géré](https://docs.stripe.com/sandboxes/dashboard/manage-access.md).

Gardez une trace de l’environnement du compte installé pour savoir quelles clés d’API utiliser. Par exemple, si vous écoutez l’[événement account.application.authorized](https://docs.stripe.com/api/events/types.md#event_types-account.application.authorized), assurez-vous que les comptes autorisés dans votre endpoint d’environnement de test utilisent les clés d’environnement de test.

Si vous créez une application avec des extensions d’interface utilisateur, vous pouvez déterminer si l’utilisateur installé est un environnement de test à l’aide de la valeur booléenne account.isSandbox dans le [UserContext](https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api.md#user-context).

Vous pouvez trouver les clés API appropriées pour les installations en environnement de test dans votre environnement de test géré.

Les clés d’API en mode test ne fonctionnent que pour les installations d’environnement de test en mode test. Seules les clés d’API d’environnement de test géré fonctionnent pour les autres installations d’environnement de test.

### Configurer les événements webhook

Si votre application écoute les événements des installations de vos utilisateurs, il existe une configuration supplémentaire pour gérer les applications installées dans des environnements de test.

- Basculez vers votre environnement de test géré dans le Dashboard.

- Créez de nouveaux webhooks pour les événements d’environnement de test dans [Workbench](https://docs.stripe.com/workbench.md).

- Si un utilisateur installe votre application dans un environnement de test, Stripe envoie tous les événements applicables uniquement aux endpoints de votre environnement de test géré.

- Mettez à jour votre logique côté serveur pour traiter les événements provenant des endpoints de l’environnement de test géré.

> Consultez la rubrique [Comportement des événements](https://docs.stripe.com/stripe-apps/build-backend.md#event-behavior-depends-on-install-mode) pour en savoir plus sur l’effet du mode d’installation sur le comportement des événements.

### Récupérer les clés secrètes de signature

Pour les webhooks, [récupérez également le secret de signature](https://docs.stripe.com/webhooks/signature.md#check-the-endpoint-secret) à l’intérieur de l’environnement de test géré et validez le secret dans vos endpoints.

### Trouver les liens d’installation pour les applications OAuth

Vous trouverez vos URL OAuth pour le mode production, l’environnement de test en mode test et l’environnement de test général sur la page de description de l’application. Votre application publiée dans la section des liens d’installation et la section [Tests externes](https://docs.stripe.com/stripe-apps/test-app.md) disposent d’URL distinctes.

Utilisez des URI de redirection différents pour les liens d’installation de votre environnement de test afin de savoir quelle clé utiliser lors de l’[échange du code d’autorisation OAuth](https://docs.stripe.com/stripe-apps/api-authentication/oauth.md#obtain-access-token).

## Tester votre application dans un environnement de test

Une fois que vous avez mis à jour votre application pour gérer les installations en environnement de test, vous pouvez tester votre application dans votre propre environnement de test.

1. À partir de votre compte principal, [créez un lien de test externe](https://docs.stripe.com/stripe-apps/test-app.md) pour la version compatible avec les environnements de test que vous venez de télécharger.

2. Créez un nouvel environnement de test pour tester votre application mise à jour, puis ouvrez-le.

3. Dans une nouvelle fenêtre du navigateur, accédez au lien de test externe que vous avez créé précédemment pour installer votre application.

4. Testez que votre application fonctionne comme prévu une fois installée dans un environnement de test.

### Valider les clés API de l’environnement de test et le comportement des webhooks

Vous pouvez utiliser [Workbench](https://docs.stripe.com/workbench.md) pour vérifier que l’installation de votre environnement de test fonctionne correctement.

- Dans votre *environnement de test* où vous avez installé l’application, effectuez quelques exemples d’actions.

- Ensuite, à l’intérieur de votre *environnement de test géré*, ouvrez Workbench.

Utilisez Workbench pour inspecter le comportement de votre application, notamment en [examinant les logs d’API](https://docs.stripe.com/workbench/guides.md#view-logs-by-source), et en [filtrant les événements](https://docs.stripe.com/workbench/guides.md#filter-events). Si vous avez correctement mis à jour votre application, vous pouvez voir tous les appels API et événements webhook pour vos exemples d’actions.

Si vous ne voyez pas les événements ou les réponses attendus, vérifiez que vous êtes dans votre environnement de test géré. Vérifiez également que vous avez configuré les endpoints webhook spécifiques à votre environnement de test, et que votre application utilise les bonnes clés API d’environnement de test selon le cas.

### Envoyer votre application pour vérification

Une fois que vous avez activé la prise en charge de l’environnement de test et que vous avez validé que votre application fonctionne comme prévu dans cet environnement, vous pouvez [soumettre votre application pour examen](https://docs.stripe.com/stripe-apps/publish-app.md). La prise en charge de l’environnement de test des applications est vérifiée dans le cadre du [processus d’examen des applications](https://docs.stripe.com/stripe-apps/review-requirements.md) et répertoriée sur la page d’informations de votre liste d’applications.
