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
Intégrer des LLMStripe pour Visual Studio CodeAlertes d'intégrité de StripeChargements de fichiers
Sécurité et confidentialité
Sécurité
Confidentialité
Extensions Stripe
Stripe Apps
Connecteurs Stripe
Partenaires
Partner ecosystem
Certification des partenaires
AccueilOutils de développementAPI

Tests automatiques

Comment procéder à des tests automatiques de votre intégration Stripe.

Copier la page

Les tests automatiques font partie intégrante du processus de développement d’applications, tant pour le code côté serveur que côté client. Les interfaces front-end, telles que Stripe Checkout ou le Payment Element, sont soumises à des mesures de sécurité visant à empêcher ces tests automatiques. En outre, le nombre de requêtes aux API Stripe que vous pouvez effectuer est limité. Cependant, vous avez la possibilité de simuler la sortie de nos interfaces et des requêtes API à l’aide de données fictives afin de tester le comportement de votre application ainsi que la gestion des erreurs.

Tests côté client

Si vous souhaitez tester la capacité de votre application à gérer les erreurs (par exemple, les refus de transactions avec utilisation du Payment Element), vous pouvez renvoyer un objet Error simulé en codant en dur des objets Error dans votre code de test, ou bien en créant un service d’API qui renvoie des erreurs fictives dans une réponse HTTP. L’objet Error représente le résultat de la fonction confirmPayment en cas de refus de la carte. Pour savoir comment générer un objet Error simulé, consultez la section suivante.

Générer un objet Error

En premier lieu, utilisez un élément d’interface utilisateur Stripe tel que le Payment Element pour générer manuellement un objet Error en confirmant un PaymentIntent de test à l’aide d’un numéro de cartes de test pour paiement refusé. Consignez l’erreur au cours du processus de confirmation, comme indiqué ci-après.

client.js
const { error } = await stripe.confirmPayment({ elements, confirmParams: { return_url: 'https://example.com' }, }) ; if (error) { console.log(error) }

Cette action génère un objet Error consigné dans la console du navigateur, similaire à l’exemple ci-après. Les valeurs des propriétés telles que error_code dépendent de la carte utilisée et du type d’erreur généré.

{ "charge": "{{CHARGE_ID}}", "code": "card_declined", "decline_code": "generic_decline", "doc_url": "https://docs.stripe.com/error-codes#card-declined", "message": "Your card has been declined.", "payment_intent": {"id": "{{PAYMENT_INTENT_ID}}", …}, "payment_method": {"id": "{{PAYMENT_METHOD_ID}}", …}, "request_log_url": "https://dashboard.stripe.com/test/logs/req_xxxxxxx", "type": "card_error" }

Modifiez vos tests de façon à ce qu’ils renvoient cet objet Error plutôt que d’appeler des fonctions Stripe.js et les API Stripe. Vous pouvez utiliser plusieurs cartes de test pour générer différentes erreurs et différents codes d’erreur afin de vérifier que votre application traite correctement chaque type d’erreur.

Tests côté serveur

Vous pouvez recourir à la même approche lorsque vous testez des appels aux API côté serveur. Générez manuellement des réponses de l’API Stripe pour diverses erreurs et simulez la réponse renvoyée dans les tests automatiques back-end.

Par exemple, si vous souhaitez rédiger un test destiné à vérifier que votre application traite correctement les paiements hors session nécessitant 3DS, vous pouvez générer la réponse en créant un PaymentIntent à l’aide du PaymentMethod pm_card_authenticationRequired et en définissant confirm sur true.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=2099 \ -d currency=usd \ -d payment_method=pm_card_authenticationRequired \ -d confirm=true \ -d off_session=true

Cette opération génère un PaymentIntent à l’état requires_confirmation, ainsi que d’autres propriétés associées à l’authentification 3DS telles que next_action.

{ "id": "{{PAYMENT_INTENT_ID}}", "object": "payment_intent", ... "next_action": { "type": "use_stripe_sdk", ... }, ... "status": "requires_confirmation", ... }

En générant des objets PaymentIntent reflétant différentes phases du cycle de vie des paiements, vous pouvez tester le comportement de votre application tout au long de l’évolution des PaymentIntents. Utilisez cette approche dans le cadre de vos tests automatiques afin de vérifier que votre intégration réagit correctement à différentes situations, par exemple lorsque votre client rouvre une session pour authentifier un paiement qui nécessite une action de sa part.

Quand utiliser cette approche

Tous les exemples ci-dessus concernent le test du comportement de votre application et peuvent être utilisés dans une suite de tests d’intégration continue. Lorsque vous devez effectuer des tests pour valider la réponse de l’API Stripe, vous pouvez tout à fait envoyer des requêtes à l’API dans un environnement de test. Vous pouvez de temps à autre envoyer des requêtes à l’API Stripe pour vérifier que ses réponses n’ont pas changé, mais il est préférable de ne pas procéder à ces tests de manière trop fréquente afin de ne pas dépasser les limites de débit.

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