Tests
Simulez des paiements pour tester votre intégration.
Pour confirmer que votre intégration fonctionne correctement, simulez des transactions sans déplacer d’argent en utilisant des valeurs spéciales dans le mode test.
Les cartes de test vous permettent de simuler différents scénarios :
- Les paiements réussis par marque de carte ou pays
- Erreurs de cartes dues à des refus, des fraudes, ou des données non valides
- Les litiges et les remboursements
- Authentification avec 3D Secure et des NIP
Le test des paiements par d’autres moyens que la carte fonctionne de la même façon. Chaque moyen de paiement possède ses propres valeurs spéciales. Compte tenu des limites de débit, nous vous déconseillons d’utiliser le mode test pour tester la charge de votre intégration. Consultez plutôt notre documentation sur les tests de charge.
Comment utiliser des cartes de test
Utilisez des clés API de test pour les appels à l’API chaque fois que vous utilisez une carte de test, que vous souhaitiez tester un formulaire de paiement de manière interactive ou rédiger du code de test.
Erreur fréquente
N’utilisez pas les informations d’une carte réelle. Le Contrat d’utilisation du service Stripe interdit les tests en mode production utilisant les informations d’un moyen de paiement réel. Utilisez vos clés API de test et les numéros de carte ci-dessous.
Tests interactifs
Lorsque vous effectuez des tests interactifs, utilisez un numéro de carte de type 4242 4242 4242 4242. Saisissez ce numéro de carte dans le Dashboard ou dans un formulaire de paiement.
- Utilisez une date future valide telle que 12/34.
- Utilisez n’importe quel code CVC à trois chiffres (quatre chiffres pour les cartes American Express).
- Utilisez la valeur de votre choix pour les autres champs du formulaire
Test d’un formulaire interactif avec la carte de test 4242 4242 4242 4242
Code de test
Lorsque vous rédigez du code de test, utilisez un PaymentMethod
de type pm_card_visa plutôt qu’un numéro de carte. Nous vous déconseillons d’utiliser des numéros de carte directement dans des appels à l’API ou côté serveur, même en mode test, car votre code risquerait de ne pas être conforme à la norme PCI lors de la mise en production. Par défaut, les clients ne sont pas associés à un PaymentMethod
.
La majorité des intégrations n’utilisent plus de jetons, mais il existe des jetons de test comme tok_visa en cas de besoin.
Au moment de passer votre intégration en mode production, remplacez vos clés API de test par celles de production. Vous ne pouvez pas traiter de paiements en mode production si votre intégration utilise toujours des clés API de test.
Cartes par marque
Pour simuler un paiement réussi pour une marque de carte spécifique, utilisez les cartes de test de la liste suivante.
Avertissement
Les frais transfrontaliers sont calculés en fonction du pays de l’émetteur de la carte. Les cartes dont le pays d’émission n’est pas les États-Unis (telles que JCB et UnionPay) peuvent être soumises à des frais transfrontaliers, même en mode test.
La majorités des cartes Cartes Bancaires et eftpos sont comarquées avec Visa ou Mastercard. Les cartes de test présentes dans la section suivante simulent des paiements aboutis avec ce genre de cartes.
Cartes par pays
Pour simuler des paiements effectués de pays spécifiques, utilisez les cartes de test présentes dans les sections suivantes.
Paiements refusés
Pour tester la logique de gestion des erreurs de votre intégration en simulant des paiements refusés pour différents motifs, utilisez les cartes de test présentées dans cette section. L’utilisation de l’une de ces cartes génère une erreur de carte avec un code d’erreur et un code de refus de paiement correspondant.
Erreur fréquente
Pour simuler un CVC incorrect, vous devez en saisir un en utilisant n’importe quel nombre à trois chiffres. Si vous ne saisissez pas de CVC, Stripe n’effectuera pas la vérification du CVC, de sorte que la vérification ne peut pas échouer.
Prévention de la fraude
Radar est le système de prévention de fraude de Stripe. Il peut bloquer des paiements s’ils présentent un risque élevé ou si les vérifications échouent. Vous pouvez utiliser les numéros de cartes présents dans la section suivante pour tester vos paramètres de Radar ou pour observer comment votre intégration réagit face à des paiements bloqués.
Chaque carte simule différents facteurs de risque. Vos paramètres Radar déterminent quels sont ceux qui bloquent un paiement. Les paiements bloqués génèrent des erreurs de cartes dont le code d’erreur correspond à une fraude.
Erreur fréquente
Pour simuler un échec de vérification CVC, vous devez saisir un CVC en utilisant n’importe quel nombre à trois chiffres. Pour simuler un échec de vérification de code postal, vous devez saisir un code postal valide. Si vous ne saisissez pas ces valeurs, Radar n’effectuera pas les vérifications correspondantes, de sorte que les vérifications ne peuvent pas échouer.
Données non valides
Pour tester des erreurs résultant de données invalides, fournissez des informations invalides. Vous n’avez pas besoin d’une carte de test spéciale; toute valeur invalide fonctionne. Par exemple :
- invalid_expiry_month : utilisez un mois non valide (par exemple, 13).
- invalid_expiry_year : indiquez une année remontant à moins de 50 ans (par exemple, 95).
- invalid_cvc : utilisez un nombre à deux chiffres (par exemple, 99).
- incorrect_number : utilisez un numéro de carte qui échoue à la vérification par algorithme de Luhn par exemple, .
Litiges
Pour simuler une transaction contestée, utilisez les cartes de test présentées dans cette section. Ensuite, pour simuler le gain ou la perte du litige, vous devrez fournir des preuves correspondantes.
Preuve
Pour simuler le fait de remporter ou de perdre le litige, répondez avec l’une des valeurs de preuve du tableau ci-dessous.
- Si vous répondez via l’API, transmettez l’une des valeurs du tableau en tant que paramètre uncategorized_text.
- Si vous répondez via le Dashboard, saisissez l’une des valeurs du tableau dans le champ Informations supplémentaires, puis cliquez sur Soumettre des preuves.
Preuve | Description |
---|---|
winning_ | Le litige est fermé et marqué comme remporté. Votre compte est crédité du montant de la transaction et des frais liés. |
losing_ | Le litige est fermé et marqué comme perdu. Votre compte n’est pas crédité. |
Remboursements
En mode production, les remboursements sont asynchrones : un remboursement peut sembler aboutir et échouer finalement, ou peut d’abord apparaître comme pending
avant d’aboutir. Pour simuler ce genre de remboursements, utilisez les cartes de test présentes dans cette section (les remboursements aboutissent immédiatement et ne changent plus d’état avec les autres cartes de test).
L’annulation d’un remboursement de carte s’effectue uniquement à l’aide du Dashboard. En mode production, vous pouvez annuler un remboursement de carte dans un délai court, mais non spécifique. Le mode test simule cette période en vous permettant d’annuler un remboursement de carte dans les 30 minutes.
Solde disponible
Pour virer les fonds d’un paiement test directement vers votre solde disponible, utilisez les cartes de test présentes dans cette section. Les autres cartes test envoie les fonds d’un paiement test réussi vers votre solde courant.
Authentification 3D Secure
3D Secure nécessite un niveau d’authentification supplémentaire pour les transactions par carte de crédit. Les cartes de test de cette section vous permettent de simuler le déclenchement de l’authentification dans différents flux de paiement.
Seules les cartes de cette section testent efficacement votre intégration 3D Secure en simulant un comportement d’authentification 3DS défini, tel qu’une demande d’authentification ou une carte non prise en charge. D’autres cartes de test Stripe peuvent toujours déclencher l’authentification 3DS, mais nous renvoyons attempt_
pour contourner les étapes supplémentaires, car le test d’authentification 3DS n’est pas l’objectif de ces cartes.
Dashboard non pris en charge
La redirection 3D Secure ne se déclenche pas pour les paiements créés directement dans le tableau de bord Stripe. Utilisez plutôt la frontale propre à votre intégration ou un appel API.
Authentification et configuration
Pour simuler des flux de paiement incluant une authentification, utilisez les cartes de test présentées dans cette section. Certaines de ces cartes peuvent également être configurées pour les paiements futurs, ou l’ont déjà été.
Prise en charge et disponibilité
Stripe requiert une authentification lorsque la réglementation l’exige, ou lorsqu’elle est déclenchée par vos règles Radar ou votre code personnalisé. Même dans les cas où l’authentification est demandée, elle ne peut pas toujours être effectuée; par exemple, la carte du client peut ne pas être enregistrée ou une erreur peut se produire. Utilisez les cartes bancaires de test de cette section pour simuler diverses combinaisons de ces facteurs.
Remarques
Toutes les références d’authentification 3DS indiquent 3D Secure 2.
Demandes d’authentification 3D Secure mobile
Dans le cadre d’un paiement par mobile, plusieurs flux d’authentification (où le client doit interagir avec des instructions dans l’interface utilisateur) sont disponibles. Utilisez les cartes de test présentées dans cette section pour déclencher un flux d’authentification spécifique à des fins de test. Ces cartes ne sont pas utiles dans les formulaires de paiement basés sur les navigateurs ou les appels à l’API. Dans ces environnements, elles fonctionnent mais elles ne déclenchent aucun comportement particulier. Parce qu’elles ne sont pas utiles dans les appels à l’API, nous ne fournissons pas de valeurs de PaymentMethod
ou de Token
avec lesquelles les tester.
Demande d’authentification | Numéro | Détails | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Hors bande | L’authentification 3D Secure 2 doit être effectuée pour toutes les transactions. Déclenche la demande d’authentification avec l’interface utilisateur hors bande. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Code à usage unique | L’authentification 3D Secure 2 doit être effectuée pour toutes les transactions. Déclenche la demande d’authentification avec l’interface utilisateur du code à usage unique. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sélection unique | L’authentification 3D Secure 2 doit être effectuée pour toutes les transactions. Déclenche la demande d’authentification avec l’interface utilisateur de la sélection unique. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sélection multiple | L’authentification 3D Secure 2 doit être effectuée pour toutes les transactions. Déclenche la demande d’authentification avec l’interface utilisateur de la sélection multiple. |
Défi d’authentification Captcha
Pour prévenir la fraude, Stripe peut afficher à l’utilisateur un défi d’authentification Captcha sur la page de paiement. Utilisez les cartes de test ci-dessous pour simuler ce processus.
Description | Numéro | Détails |
---|---|---|
Défi d’authentification Captcha | Le paiement est effectué si l’utilisateur répond correctement au défi d’authentification Captcha. | |
Défi d’authentification Captcha | Le paiement est effectué si l’utilisateur répond correctement au défi d’authentification Captcha. |
Paiements avec NIP
Utilisez les cartes de test présentes dans cette section pour simuler l’aboutissement de paiements en personne avec un NIP. Il existe de nombreuses autres options pour tester les paiements en personne, notamment un lecteur de simulation et des cartes de test physiques. Pour en savoir plus, consultez la page consacrée au test de Stripe Terminal.
Destinations d’événement
To test event destinations, choose one of these two options:
- Perform actions in test mode that send legitimate events to your event destination. For example, to trigger the charge.succeeded event, you can use a test card that produces a successful charge.
- Trigger events using the Stripe CLI or using Stripe for Visual Studio Code.
Limites de débit
Si vous commencez à recevoir des erreurs HTTP 429
pour les requêtes que vous effectuez en mode test, réduisez leur fréquence. Ces erreurs sont dues à notre limiteur de débit, qui est plus exigeant en mode test qu’en mode production.
Nous vous déconseillons de tester la charge de votre intégration à l’aide de l’API Stripe en mode test. Le limiteur de charge étant plus strict en mode test, vous risquez de voir apparaître des erreurs que vous ne verriez pas en mode production. Consultez la section Test de charge pour découvrir une méthode alternative.
Paiements par des moyens autres qu’une carte
Utilisez des clés API de test dans les appels à l’API chaque fois que vous utilisez un moyen de paiement de test autre que la carte, que vous souhaitiez tester un formulaire de paiement de manière interactive ou rédiger du code de test.
Chaque moyen de paiement a ses propres procédures de test :
Link
Avertissement
Ne stockez pas de données utilisateur réelles sur des comptes Link en mode test. En effet, ces données doivent être traitées comme publiques étant donné que vos comptes test sont associés à votre clé publiable.
Currently, Link only works with credit cards, debit cards, and qualified US bank account purchases. Link requires domain registration.
Vous pouvez créer des comptes en mode test pour Link à l’aide d’une adresse courriel valide. Le tableau suivant répertorie les codes à usage unique acceptés par Stripe pour l’authentification des comptes en mode test :
Valeur | Résultat |
---|---|
Tout autre ensemble de 6 chiffres non listé ci-dessous | Opération réussie |
000001 | Erreur, code non valide |
000002 | Erreur, code expiré |
000003 | Erreur, nombre maximal de tentatives dépassé |
Sources de financement multiples
Au fur et à mesure que Stripe ajoute des sources de financement supplémentaires, vous n’avez pas besoin de mettre à jour votre intégration. Stripe les prend en charge automatiquement avec le même délai de règlement des transactions et les mêmes garanties que les paiements par carte et par compte bancaire.
Redirection
Pour tester la logique de gestion des redirections de votre intégration en simulant un paiement avec flux de redirection (par exemple, iDEAL), utilisez un moyen de paiement à redirection compatible.
Pour créer un PaymentIntent
de test susceptible de réussir ou d’échouer :
- Accédez aux paramètres des moyens de paiement dans le Dashboard et activez un moyen de paiement pris en charge en cliquant sur Activer en mode test.
- Collecter les informations de paiement.
- Envoyer le paiement à Stripe.
- Autoriser ou faire échouer le paiement test.
Assurez-vous que la page (correspondant à return_
) de votre site Web indique l’état du paiement.