Tests
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
- Litiges et remboursements
- Authentification avec 3D Secure et des NIP
Le test des paiements par des moyens autres qu’une carte fonctionne de la même manière. Chaque moyen de paiement a ses propres valeurs spéciales. En raison des limites de débit, il n’est pas recommandé d’utiliser le mode test pour tester la charge de votre intégration. Consultez plutôt notre documentation à propos des tests de charge.
Comment utiliser des cartes de test
Utilisez des clés API de test dans tous les appels à l’API chaque fois que vous utilisez une carte de test, que vous testiez un formulaire de paiement de manière interactive ou que vous écriviez 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, tel que 4242 4242 4242 4242. Entrez le numéro de carte de crédit dans le Dashboard ou dans n’importe quel 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 votre 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 votre passage en mode production. Par défaut, les clients ne sont pas associés à un PaymentMethod
.
La plupart des intégrations n’utilisent plus de jetons, mais nous mettons à disposition des jetons de test tels que tok_visa si vous en avez besoin.
Lorsque vous êtes sur le point de passer votre intégration en mode production, remplacez vos clés API publiques et secrètes de test par celles de production. Vous ne pouvez pas traiter de paiements en mode production si votre intégration utilise toujours vos clés API de test.
Cartes par marque
Pour simuler un paiement réussi, utilisez des cartes bancaires de test de la liste suivante. Le pays de facturation de chaque carte de test est défini sur les États-Unis. Si vous devez créer des paiements par carte de test à l’aide de cartes pour d’autres pays de facturation, utilisez les cartes de test internationales.
Avertissement
Les frais internationaux sont évalués en fonction du pays de l’émetteur de la carte. Bien que toutes les cartes présentées dans cette section utilisent les États-Unis comme pays de facturation, les cartes dont le pays d’émission n’est pas les États-Unis (telles que JCB et UnionPay) peuvent faire l’objet de frais internationaux, 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 traitement des erreurs de votre intégration en simulant des paiements que l’émetteur refuse pour diverses raisons, utilisez les cartes de test de cette section. L’utilisation de l’une de ces cartes entraîne une erreur de carte avec le code d’erreur et le code de refus de paiement indiqués.
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 de Radar déterminent quels sont ceux qui empêchent un paiement. Les paiements bloqués créent des erreurs de cartes avec un code d’erreur correspondant à 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 : utilisez une année jusqu’à 50 ans dans le passé, par exemple 95.
- invalid_cvc : utilisez un numéro à 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, fournissez des preuves de gain ou de perte.
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 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_evidence | Le litige est fermé et marqué comme remporté. Votre compte est crédité du montant de la transaction et des frais liés. |
losing_evidence | 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).
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_acknowledged
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 tunnels de paiement qui incluent l’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. |
Paiements avec NIP
Utilisez les cartes de test de cette section pour simuler des paiements en personne réussis impliquant un NIP. Il existe de nombreuses autres options pour tester les paiements en personne, y compris un lecteur de simulation et des cartes de test physiques. Consultez la page consacrée au test de Stripe Terminal pour plus d’informations.
Webhooks
Pour tester des webhooks, deux options s’offrent à vous :
- Utiliser le mode test pour envoyer des événements légitimes vers votre point de terminaison. Par exemple, vous pouvez utiliser une carte de test créant un paiement abouti pour déclencher un événement charge.succeeded.
- Déclenchez des événements à l’aide de l’interface de ligne de commande Stripe ou de Stripe pour Visual Studio Code.
Limites de débit
Si les requêtes que vous effectuez en mode test commencent à recevoir des erreurs HTTP 429
, réduisez leur fréquence. Ces erreurs proviennent de notre limiteur de débit, qui est plus exigeant en mode test qu’en mode production.
Nous ne recommandons pas de charger le test de votre intégration Stripe l’aide de l’API Stripe en mode test. Parce que le limiteur de charge est plus strict en mode test, vous pouvez voir des erreurs que vous ne verriez pas en production. Voir test de charge pour une approche alternative.
Paiements par des moyens autres qu’une carte
Utilisez des clé d’API de test dans tous les appels d’API chaque fois que vous utilisez un moyen de paiement test autre que la carte bancaire, que vous testiez un formulaire de paiement interactif ou que vous écriviez du code de test.
Chaque moyen de paiement a ses propres procédures de test :
Redirection
Pour tester la logique de traitement des redirections de votre intégration en simulant un paiement qui utilise un flux de redirection (par exemple, iDEAL), utilisez un moyen de paiement pris en charge qui nécessite des redirections.
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_url
) de votre site Web indique l’état du paiement.