Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
Gestion des versions
Journal des modifications
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Outils de développement
SDK
API
    API v2
    Clés API
    En-tête Stripe-Context
    Journal quotidien des modifications
    Limites de débit
    Tests automatiques
    Métadonnées
    Développement des réponses
    Pagination
    Domaines et adresses IP
    Rechercher
    Localisation
    Gestion des erreurs
    Codes d'erreur
Tests
Workbench
Destinations d'événements
Workflows
CLI Stripe
Shell Stripe
Dashboard des développeurs
Boîte à outils des agents
Alertes d'intégrité de StripeBuild with LLMsStripe pour Visual Studio CodeChargements de fichiers
Sécurité
Sécurité
Extensions Stripe
Stripe Apps
Connecteurs Stripe
Partenaires
Partner ecosystem
Certification des partenaires
AccueilOutils de développementAPI

Aperçu des API v2

Comprendre le comportement des API dans l'espace de noms v2.

Copier la page

L’API Stripe fournit deux espaces de noms qui contiennent plusieurs ensembles de endpoints :

  • API v1 : l’ /v1 inclut la plupart des API Stripe existantes.
  • API v2 : l’espace de noms /v2 comprend des endpoints qui utilisent des modèles de conception /v2.

Différences clés entre les espaces de noms v1 et v2

API v1API v2
Accéder aux APIUtilisez des clés d’accès secrètes et limitées pour accéder aux API dans l’espace de noms /v1.Vous pouvez uniquement accéder aux API de l’espace de noms /v2 avec des clés secrètes.
Envoyer des données à l’APILes requêtes utilisent le codage de formulaire (application/x-www-form-urlencoded), tandis que les réponses utilisent le codage JSON (application/json).Les requêtes et les réponses utilisent le codage JSON (application/json).

Tester votre intégration

Validez les API dans l’espace de noms /v1 à l’aide d’environnements de test, qui sont isolés. De plus, vous pouvez utiliser mode de test pour tester votre intégration.

Validez les API dans l’espace de noms /v2 à l’aide d’environnements de test, qui sont isolés. Le mode test n’est pas pris en charge.

En savoir plus : environnements de test

Envoyer des requêtes idempotentes

Lorsque vous renseignez un identifiant unique dans l’en-tête Idempotency-Key et que la requête a été traitée par l’API, elle renverra la dernière requête enregistrée.

Lorsque vous renseignez un identifiant unique dans l’en-tête Idempotency-Key, l’API récupère toutes les requêtes en échec sans engendrer d’effet secondaire (toute modification superflue ou tout comportement observable résultant d’un appel à l’API).

En savoir plus : Idempotence

Recevoir des événements de Stripe

La plupart des événements émis depuis les API dans l’espace de noms /v1 comprennent un aperçu de l’objet API dans leur charge utile. Certaines API dans l’espace de noms /v1 génèrent des événements thin, qui contiennent une charge utile minimale non versionnée.

Les évènements émis depuis les API dans l’espace de noms /v2 sont des événements thin.

En savoir plus : destinations d’événements

Faire défiler une liste

Spécifier l’ID d’un objet comme élément de départ d’une requête à l’API List. Utiliser les propriétés starting_after, ending_before et has_more de la réponse de l’API pour parcourir une liste.

Spécifiez le token page pour les requêtes de liste à l’API. Utilisez les propriétés previous_page_url et next_page_url de la réponse de l’API afin de faire défiler une liste.

En savoir plus : Défilement de liste

Garanties de cohérences des listesLes listes principales sont immédiatement cohérentes (avec une haute latence de restitution). Certaines sous-listes deviendront finalement elles-aussi cohérentes.Les listes sont finalement cohérentes par défaut et la latence est plus faible.

Obtenir des données supplémentaires

Utilisez le paramètre expand pour remplacer les ID des objets de l’API associés et dont les objets hérités sont entièrement développés.

En savoir plus : Développement des réponses

Le paramètre expand n’est pas pris en charge. Certaines API de cet espace de noms peuvent fournir des champs supplémentaires dans leurs réponses à l’aide du paramètre include.

Gérer les métadonnéesSupprime une paire clé-valeur en définissant la valeur sur une chaîne vide.Supprime une paire clé-valeur en définissant la valeur sur null.

SDK prenant en charge l’API v2

Tous les SDK côté serveur prennent en charge les API dans l’espace de noms /v2.

Utiliser l’API v2 avec la CLI Stripe

Utilisez stripe trigger et stripe listen pour tester la gestion des événements de votre intégration. Vous ne pouvez pas accéder aux API dans l’espace de noms /v2 en utilisant l’interface de ligne de commande Stripe.

Gestion des versions du SDK, de la CLI et de l’API

Les SDK et la CLI Stripe incluent automatiquement une version d’API pour chaque requête. Une fois que vous avez mis à jour la version de votre SDK ou de la CLI, Stripe met à jour simultanément la version de l’API de vos requêtes et réponses.

Inclure la version Stripe sans SDK ou CLI

Toutes les requêtes API envoyées à l’espace de noms de l’API /v2 doivent inclure l’en-tête Stripe-Version pour spécifier la version sous-jacente de l’API.

Voici un exemple de requête curl utilisant la version 2024-09-30.acacia de l’API :

Command Line
curl -G https://api.stripe.com/v2/core/events \ -H "Authorization: Bearer {{YOUR_API_KEY}}" \ -H "Stripe-Version: 2024-09-30.acacia" \ -d object_id=fa_123

Utiliser les API des espaces de noms v1 et v2 dans la même intégration

Vous pouvez utiliser toutes les combinaisons d’API dans l’espace de noms /v1 ou /v2 dans la même intégration.

Java
import com.stripe.StripeClient; StripeClient stripe = new StripeClient("{{YOUR_API_KEY}}"); // Call a v2 API Event event = stripe.v2().core().events().retrieve("evt_123"); // Call a v1 API Customer customer = stripe.customers().retrieve("cus_123");

Si vous n’utilisez pas un SDK officiel ni la CLI, renseignez toujours l’espace de noms dans l’URL de vos appels à l’API. Par exemple :

Command Line
# Call a v2 API curl https://api.stripe.com/v2/core/events?object_id=mtr_123 # Call a v1 API curl https://api.stripe.com/v1/charges -d amount=2000 -d currency=usd

Défilement de liste

Les API de l’espace de noms /v2(par exemple, GET /v2/core/events) contiennent une interface de pagination différente de celles de l’espace de noms /v1.

  • La propriété previous_page_url renvoie une URL permettant de récupérer la page précédente de la liste. S’il n’y a pas de page précédente, la valeur est null.
  • La propriété next_page_url envoie une URL permettant de récupérer la page suivante de la liste. S’il n’y a pas de page suivante, la valeur est null.

Vous pouvez utiliser ces URL pour effectuer des requêtes sans utiliser nos SDK. À l’inverse, lorsque vous utilisez nos SDK, vous n’avez pas besoin d’utiliser ces URL, car ces derniers gèrent automatiquement la pagination automatique.

Vous ne pouvez pas modifier les filtres de liste après la première requête.

Java
StripeClient stripe = new StripeClient("{{YOUR_API_KEY}}"); EventListParams params = EventListParams.builder() .setObjectId("mtr_123") .build(); for (Event event : stripe.v2().core().events().list(params).autoPagingIterable()) { // process event object }

Idempotence

Les API de l’espace de noms /v2 permettent une meilleure prise en charge des comportements idempotents en empêchant les effets indésirables involontaires lors de l’exécution répétée de requêtes sur la même clé d’idempotence. Lorsque l’API reçoit deux requêtes ayant la même clé d’idempotence :

  • Si la première requête a abouti, l’API ne procède pas à de nouvelles modifications et renvoie une nouvelle réponse.
  • Si la première requête échoue (ou échoue partiellement), l’API relance la requête en échec et renvoie la nouvelle réponse.
  • Dans les rares occasions où une relance idempotente ne peut plus fonctionner, l’API renvoie un message d’erreur explicatif.

Deux requêtes sont considérées comme idempotentes si les conditions suivantes sont remplies :

  • Elles utilisent la même clé d’idempotence pour la même API
  • Elles se produisent au sein du même compte ou environnement de test
  • Survenir à 30 jours d’intervalle maximum

Pour spécifier une clé d’idempotence, utilisez l’en-tête Idempotency-Key et renseignez une valeur unique pour représenter l’opération (nous vous recommandons d’utiliser un UUID). Si aucune clé n’est renseignée, Stripe génère automatiquement un UUID.

Toutes les requêtes API v2 POST et DELETE acceptent les clés d’idempotence et ont un comportement idempotent. Les requêtes GET étant idempotentes par nature, l’envoi d’une clé d’idempotence n’a aucun effet.

Différences d’idempotence entre API v1 et API v2

Les idempotences API v1 et API v2 présentent quelques différences majeures :

  • API v1 prend uniquement en charge les relances idempotentes pour les requêtes POST. API v2 prend en charge toutes les requêtes POST et DELETE.
  • Deux requêtes soient considérées comme idempotentes si :
    • API v1 elles utilisent la même clé d’idempotence et se produisent à moins de 24 heures d’intervalle.
    • API v2 elles utilisent la même clé d’idempotence, la même API, se produisent au sein du même compte ou environnement de test et sont créées dans les 30 jours qui suivent.
  • Lorsque vous fournissez la même clé d’idempotence pour deux requêtes :
    • API v1 renvoie toujours la réponse précédemment enregistrée de la première requête à l’API, même s’il s’agissait d’une erreur.
    • API v2 tente de relancer les requêtes en échec sans engendrer d’effet indésirable (toute modification superflue ou tout comportement observable résultant d’un appel à l’API) et de fournir une réponse actualisée.

Requêtes idempotentes

À l’aide du SDK, fournissez une clé d’idempotence avec la propriété idempotencyKey dans les requêtes à l’API.

Par exemple, pour effectuer une requête API avec une clé d’idempotence spécifique :

Java
StripeClient stripe = new StripeClient("{{YOUR_API_KEY}}"); String idempotencyKey = "unique-idempotency-key"; Example result = stripe.v2().examples().create( ExampleCreateParams.builder() .setName("My example") .build(), RequestOptions.builder() .setIdempotencyKey(idempotencyKey) .build());

Si vous n’utilisez pas de SDK ni la CLI, les requêtes peuvent inclure l’en-tête Idempotency-Key :

Command Line
curl https://api.stripe.com/v2/examples \ -H "Authorization: Bearer {{YOUR_API_KEY}}" \ -H "Stripe-Version: {{STRIPE_API_VERSION}}" \ -H "Idempotency-Key: unique-idempotency-key" \ -d <JSON request body>

Limitations

  • Le mode test ne prend pas en charge /v2, cependant, vous pouvez utiliser un environnement de test pour effectuer des tests dans cet espace de noms.
  • Actuellement, Stripe ne génère que des événements légers utilisant /v2 des endpoints et des ressources.
  • Vous ne pouvez voir les logs des requêtes générés par l’API v2 que dans Workbench, pas dans le Dashboard des développeurs.
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc