Introduction aux SDK côté serveur
Découvrez comment installer et utiliser les SDK Stripe côté serveur.
Les SDK Stripe côté serveur réduisent la quantité de travail nécessaire à l’utilisation de nos API REST. Les SDK maintenus par Stripe sont disponibles pour Ruby, PHP, Java, Python, Node, .NET et Go. Des bibliothèques de la communauté sont également disponibles pour d’autres langages de serveur.
Installation et configuration
Sélectionnez un langage dans le sélecteur ci-dessous, puis suivez les instructions pour installer le SDK.
Une fois l’installation terminée, vous devez initialiser Stripe :
Envoyer des requêtes API
Vous pouvez manipuler des objets avec l’API Stripe de six manières principales : créer, mettre à jour, supprimer, récupérer, lister et rechercher. Les exemples suivants illustrent chacun des six modes d’utilisation de l’objet Customer
:
Les requêtes API peuvent contenir différents types de paramètres. Par exemple, voici comment créer un client avec les paramètres name
(une chaîne), address
(un objet) et preferred_
(une liste) :
Lorsque vous modifiez un objet, vous pouvez effacer certaines de ses propriétés. Pour les langages typés dynamiquement, envoyez une chaîne vide. Pour les langages fortement typés, utilisez des constantes spécifiques. Par exemple, voici comment effacer les propriétés name
(une chaîne) et metadata
(un hachage de paires clé-valeur) d’un client :
Cet exemple efface toutes les métadonnées, mais vous pouvez également effacer des clés individuelles. Pour en savoir plus sur la gestion des métadonnées, consultez notre guide des métadonnées.
Accéder à la réponse API
Chaque fois que vous effectuez une requête API, Stripe vous renvoie une réponse.
Si vous créez, récupérez ou modifiez un objet, vous obtenez l’objet lui-même :
{ "id": "pi_001", "object": "payment_intent", "amount": 1099, "currency": "usd", /* ... */ }
Utilisez une variable pour accéder aux propriétés de cet objet :
Pour lister ou rechercher des objets, vous récupérez un objet List
contenant une matrice data
avec les objets demandés :
{ "object": "list", "data": [ { "id": "pi_003", "object": "payment_intent", "amount": 4200, "currency": "usd", /* ... */ }, { "id": "pi_002", "object": "payment_intent", "amount": 2100, "currency": "usd", "payment_method_types": [ "link" ], /* ... */ } ], "has_more": true, "url": "/v1/payment_intents" }
Utilisez une boucle sur la data
matrice pour accéder aux propriétés de chaque objet :
Vous pouvez également utiliser la pagination automatique pour itérer sur tous les résultats.
Développement des réponses
Certaines propriétés peuvent être développées ou incluses, ce qui signifie que vous pouvez les renvoyer à l’aide du paramètre expand
. Par exemple :
- Récupérez un PaymentIntent et développez l’objet PaymentMethod qui lui est associé.
- Récupérez une session Checkout et incluez la propriété
line_
.items
En savoir plus sur le développement des réponses.
Récupérer l’ID de requête
Chaque requête API est associée à un ID de requête unique (req_
). Vous pouvez l’utiliser pour inspecter la requête dans le Dashboard afin de voir les paramètres reçus par Stripe ou le partager avec le service Support de Stripe lorsque vous rencontrez un problème.
Vous pouvez trouver les ID dans les logs de votre Dashboard, ou directement avec un code comme celui-ci :
Définir des options de requête supplémentaires
Lors de l’envoi de requêtes API, vous pouvez définir des options de requête supplémentaires pour :
- Définir une version d’API spécifique.
- Effectuer des requêtes concernant vos comptes connectés.
- Fournir des clés d’idempotence.
Gestion des erreurs
Chaque SDK côté serveur interprète les réponses d’erreur de l’API Stripe comme des types d’exception. Ainsi, vous n’avez pas besoin d’analyser vous-même l’état de la réponse. Utilisez les conventions de gestion des erreurs appropriées à chaque langage pour gérer ces erreurs.
En savoir plus sur la gestion des erreurs.
Fonctionnalités des versions bêta privées
Stripe lance régulièrement des fonctionnalités de version bêta privée qui introduisent de nouvelles propriétés ou de nouveaux paramètres qui ne sont pas immédiatement rendus publics. Les SDK à typage dynamique (PHP, Node, Ruby, Python) les prennent automatiquement en charge. Pour les SDK fortement typés (Java, .NET, Go), utilisez le code ci-dessous, sauf s’ils sont pris en charge dans une version bêta.
Envoyer des paramètres non documentés :
Accéder aux champs non documentés :
Code source
Le code source de chacun de nos SDK côté serveur est disponible sur GitHub :
Langue | Répertoire |
---|---|
Ruby | stripe-ruby |
PHP | stripe-php |
Java | stripe-Java |
Node | stripe-node |
Python | stripe-python |
. NET | stripe-dotnet |
Go | stripe-go |
Modèles de service et de relation client
Pour certains SDK, nous avons introduit un modèle de service et de relation client qui modifie votre mode d’exécution des opérations. Ce nouveau modèle basé sur les services facilite la simulation sans méthodes statiques et permet à plusieurs instances client de fonctionner simultanément avec une configuration distincte.
Si vous comparez du code ciblant des versions antérieures de ces bibliothèques avec des modèles basés sur les ressources, les appels peuvent être différents.
SDK | Version client/service | Guide de transition |
---|---|---|
stripe-php | 7.33.0 | Wiki GitHub |
stripe-python | 8.0.0 | Wiki GitHub |
Versions bêta
Nous proposons des SDK en phase bêta, identifiables à la présence du suffixe beta
ou b
dans le nom de fichier, par exemple 5.
ou 5.
. Ils vous donnent accès aux produits et fonctionnalités en cours de développement, et vous permettent de nous faire part de vos commentaires avant leur disponibilité générale.
Accédez aux versions bêta du SDK via le fichier readme.
du référentiel GitHub correspondant.