Cartes de test
Numéros de cartes bancaires acceptés en mode sandbox. Aucun débit réel, aucun risque.
Regles globales
12/30.123 pour Visa/Mastercard/Maestro, 1234 pour American Express.M. TEST).sk_test_*. En production, ces numéros sont refusés.Cartes 3D-Secure
Selon la carte, le paiement déclenche soit un challenge (saisie d'un code par l'acheteur), soit un parcours frictionless (authentification silencieuse). Couvrir les deux est obligatoire pour passer en production (PSD2).
| Numéro | Réseau | 3DS | Mode | Comportement | CVV |
|---|---|---|---|---|---|
| CB / Visa | Challenge | Page web | Challenge : l'acheteur saisit un code | 123 | |
| CB / Visa | Frictionless | Page web | Frictionless : authentification silencieuse | 123 | |
| CB / Visa | Frictionless | Page web | Frictionless Y/C : authentifiée, paiement accepté | 123 | |
| CB / Visa | Challenge | Page web | Challenge, puis refus 01208 (carte perdue) | 123 | |
| Mastercard | Challenge | Page web | Challenge, puis succès 00000 en toutes circonstances | 123 | |
| Mastercard | Frictionless | Page web | Frictionless Y/C : authentifiée, paiement accepté | 123 | |
| CB / Mastercard | Challenge | Page web | Challenge : l'acheteur saisit un code | 123 | |
| Maestro | Challenge | Page web | Challenge : l'acheteur saisit un code | 123 | |
| American Express | Challenge | Page web | Challenge : l'acheteur saisit un code | 1234 | |
| American Express | Frictionless | Direct | Frictionless Y : authentifiée | 1234 | |
| American Express | Frictionless | Direct | Frictionless R : authentification rejetée par l'émetteur | 1234 |
Simuler un refus par le numéro de carte
Méthode à préférer : elle ne dépend ni du montant, ni de la devise, ni de l'arrondi de conversion, et laisse donc tester un refus sur le montant réel du panier. La règle est de prendre un numéro de test CB, Visa ou Mastercard, de remplacer le dixième chiffre par un 9, d'écrire ensuite le code retour sur cinq chiffres, puis de recalculer la clé de Luhn. Elle ne vaut pas pour American Express.
Refusé par la banque, sans motif communiqué
Refus : contactez votre banque
Plafond de la carte dépassé
Paiement non autorisé pour cette carte
Carte expirée
Provision insuffisante sur le compte
Simuler un refus, un plafond ou des fonds insuffisants
Deux méthodes pour déclencher un code retour spécifique. La plus simple : choisir un montant dans la grille ci-dessous.
Méthode 1 : par le montant
soit 39 738 XPF
Paiement accepté
soit 39 747 XPF
Piège : Paiement accepté, malgré les apparences
soit 39 744 XPF
Refusé par la banque, sans motif communiqué
soit 39 740 XPF
Refus : contactez votre banque
soit 39 798 XPF
Plafond de la carte dépassé
soit 39 806 XPF
Paiement non autorisé pour cette carte
soit 39 757 XPF
Authentification 3-D Secure exigée
soit 39 802 XPF
Carte expirée
Méthode 2 : par le numéro de carte
Remplacer le 10e chiffre par 9, inserer le code retour, puis recalculer le dernier chiffre via l'algorithme de Luhn. Exemple pour code 01206 : .
Tester un parcours complet
- 1
Créer une session de paiement
Appelez POST /api/v1/payments/sessions avec un montant et une référence.
- 2
Ouvrir l'URL de paiement
L'API retourne checkoutUrl. Redirigez le client (ou ouvrez dans un navigateur pour tester).
- 3
Saisir une carte de test
Numéro ci-dessus + date future (ex: 12/30) + CVV de la carte.
- 4
Si 3DS Challenge : valider
Suivre le parcours d'authentification (code OTP factice ou cliquer sur OK).
- 5
Vérifier la redirection
Le client revient sur votre redirectUrl avec le statut du paiement.
- 6
Recevoir le webhook
Événement payment.captured ou payment.failed sur votre endpoint configuré.
Ces numéros sont valables uniquement en environnement sandbox. Pour toute question, contactez le support.