# Envoyer votre première requête à l'API Stripe Premiers pas avec l'API Stripe. Chaque appel à l’API Stripe doit inclure une clé API secrète. Une fois votre compte Stripe créé, nous générons pour vous deux paires de [clés API](https://docs.stripe.com/keys.md) : une clé publique côté client et une clé secrète côté serveur. Vous pourrez les utiliser tant dans un *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) qu’en mode *production* (Use this mode when you’re ready to launch your app. Card networks or payment providers process payments). Pour commencer à transférer des fonds réels avec vos clés de production, vous devez [activer votre compte](https://docs.stripe.com/get-started/account/activate.md). ## Avant de commencer Ce guide vous accompagne dans une interaction simple avec l’API Stripe, à savoir la création d’un client. Pour mieux comprendre les objets de l’API Stripe et leurs interactions, consultez la [visite guidée de l’API](https://docs.stripe.com/payments-api/tour.md) ou la [documentation de l’API](https://docs.stripe.com/api.md). Si vous êtes prêt à accepter des paiements, consultez notre [Guide de démarrage rapide](https://docs.stripe.com/payments/quickstart-checkout-sessions.md). ## Envoyer votre première requête à l'API Vous pouvez commencer à explorer les API de Stripe en utilisant [Stripe Shell](https://docs.stripe.com/workbench/shell.md). Stripe Shell vous permet d’exécuter des commandes du CLI de Stripe directement sur le site de documentation Stripe. Puisqu’il fonctionne uniquement en *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), vous n’avez pas à craindre de créer des transactions réelles. 1. Pour [créer un client](https://docs.stripe.com/api/customers/create.md) à l’aide du Shell Stripe, saisissez la commande suivante : #### bash ```bash stripe customers create --email=jane.smith@email.com --name="Jane Smith" --description="My First Stripe Customer" ``` Si tout a fonctionné correctement, la ligne de commande affiche la réponse suivante : #### bash ```json { "id": "cus_LfctGLAICpokzr", // L'identifiant s'apparente à ceci. "object": "customer", // Ceci est l'objet connecté à votre compte. "address": null, "balance": 0, "created": 1652283583, "currency": null, "default_source": null, "delinquent": false, "description": "My First Stripe Customer", "discount": null, "email": "jane.smith@email.com", "invoice_prefix": "9B1D61CF", "invoice_settings": { "custom_fields": null, "default_payment_method": null, "footer": null }, "livemode": false, "metadata": { }, "name": "Jane Smith", "next_invoice_sequence": 1, "phone": null, "preferred_locales": [ ], "shipping": null, "tax_exempt": "none", "test_clock": null } ``` 1. (Facultatif) Exécutez la même commande en passant votre clé secrète API dans un environnement de test : #### bash ```bash stripe customers create --email=jane.smith@email.com --name="Jane Smith" --description="My First Stripe Customer" --api-key sk_test_BQokikJOvBiI2HlWgH4olfQ2 ``` Si tout a fonctionné correctement, la ligne de commande affiche la réponse suivante : #### bash ```json { "id": "cus_LfdZgLFhah76qf", // L'identifiant s'apparente à ceci. "object": "customer", // Ceci est l'objet connecté à votre compte. "address": null, "balance": 0, "created": 1652286103, "currency": null, "default_currency": null, "default_source": null, "delinquent": false, "description": "My First Stripe Customer", "discount": null, "email": "jane.smith@email.com", "invoice_prefix": "D337F99E", "invoice_settings": { "custom_fields": null, "default_payment_method": null, "footer": null }, "livemode": false, "metadata": { }, "name": "Jane Smith", "next_invoice_sequence": 1, "phone": null, "preferred_locales": [ ], "shipping": null, "tax_exempt": "none", "test_clock": null } ``` ## Afficher les logs et les événements Lorsque vous effectuez un appel aux API de Stripe, Stripe crée et stocke des objets API et [Events](https://docs.stripe.com/api/events.md) pour votre [compte d’utilisateur](https://docs.stripe.com/get-started/account.md) Stripe. La clé API que vous indiquez pour la requête détermine si les objets sont stockés dans un environnement de test ou en mode production. Par exemple, la dernière requête utilisait votre clé secrète API, donc Stripe a stocké les objets dans un environnement de test. - Pour afficher le log de requête API : - Ouvrez la page [Logs](https://dashboard.stripe.com/test/workbench/logs). - Cliquez sur **200 OK POST /v1 customers**. - Pour afficher le log de l’événement : - Ouvrez la page [Événements](https://dashboard.stripe.com/test/workbench/events). - Cliquez sur **jane.smith@email.com est un nouveau client**. ## Stockez vos clés API Par défaut, tous les comptes disposent au total de quatre clés API : | Type | Description | | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Clé secrète en mode environnement de test | Authentifiez les requêtes sur votre serveur lors des tests en environnement de test. Par défaut, cette clé permet d’effectuer n’importe quelle requête API sans restriction. Réservez-la aux phases de test et de développement afin de vous assurer de ne pas modifier accidentellement vos clients ou vos paiements en mode production. | | Environnement de test d’une clé publiable | Testez les requêtes dans le code côté client de votre application Web ou mobile. Réservez cette clé pour les tests et le développement afin de vous assurer de ne pas modifier accidentellement vos clients ou vos paiements en mode production. | | Clé secrète en mode production | Authentifiez les requêtes sur votre serveur en mode production. Par défaut, vous pouvez utiliser cette clé pour effectuer n’importe quelle requête d’API sans restriction. | | Clé publiable en mode production | Lorsque vous êtes prêt à lancer votre application, utilisez cette clé dans le code côté client de votre application Web ou mobile. | Vos clés secrètes et publiables se trouvent dans l’onglet [clés API](https://dashboard.stripe.com/test/apikeys) du Dashboard. Si vous ne pouvez pas afficher vos clés API, demandez au propriétaire de votre compte Stripe de vous ajouter à son [équipe](https://docs.stripe.com/get-started/account/teams.md) avec les autorisations appropriées. > #### Clés API limitées > > Vous pouvez générer des [clés API restreintes](https://docs.stripe.com/keys-best-practices.md#limit-access) dans le Dashboard pour permettre un accès personnalisé et limité à l’API. Cependant, Stripe ne propose pas de clés restreintes par défaut. > #### Vous recherchez votre secret de signature de webhook ? > > Les webhook signing secrets (secrets de signature des webhooks) ne sont pas des clés d’API. Vous trouverez le secret de signature de chaque endpoint de webhook dans la section [Webhooks](https://dashboard.stripe.com/webhooks) du Dashboard. Sélectionnez un endpoint et développez la section **Signing secret (secret de signature)**. Si vous êtes connecté à Stripe, notre documentation remplit des exemples de code avec vos clés API test. Vous seul pouvez voir ces valeurs. Si vous n’êtes pas connecté, nos exemples de code incluent des clés API générées aléatoirement que vous pouvez remplacer par vos clés test. Vous pouvez également vous connecter pour voir les exemples de code remplis avec vos clés API test. ### Exemples de clés API Le tableau suivant présente des exemples de clés secrètes et publiques générées de manière aléatoire : | Type | Valeur | Utilisation | | --------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Secrète | `sk_test_BQokikJOvBiI2HlWgH4olfQ2` | **Côté serveur uniquement.** Utilisez cette clé dans votre code back-end (par exemple, dans une variable d’environnement) pour effectuer des appels à l’API Stripe. Préservez sa confidentialité : ne la partagez jamais, ne la versionnez pas dans le code source et ne l’exposez pas dans un navigateur ou une application mobile. Toute personne disposant de cette clé peut effectuer des appels à l’API au nom de votre compte. | | Publiable | `pk_test_TYooMQauvdEDq54NiTphI7jx` | **Côté client (navigateur ou application mobile).** Utilisez cette clé dans votre code front-end pour collecter des informations de paiement de manière sécurisée avec des outils comme [Stripe Elements](https://docs.stripe.com/payments/elements.md) ou [Stripe Checkout](https://docs.stripe.com/payments/checkout.md). Cette clé peut être publique. | | Limitée | Une chaîne commençant par `rk_test_` | **Côté serveur uniquement, avec des autorisations limitées.** Comme une clé secrète, mais vous choisissez précisément aux ressources de l’API Stripe auxquelles elle peut accéder. Utilisez des clés limitées plutôt que des clés secrètes lorsque vous souhaitez limiter les actions qu’un système ou un tiers peut effectuer. Consultez la section [Clés d’API limitées](https://docs.stripe.com/keys-best-practices.md#limit-access). | ## See also - [Configurer votre environnement de développement](https://docs.stripe.com/get-started/development-environment.md) - [Stripe Shell](https://docs.stripe.com/workbench/shell.md)