Visa, Mastercard ou Amex ?
Cet outil identifie le réseau d’une carte à partir des premiers chiffres de son numéro : Visa, Mastercard, American Express et d’autres. Il vous indique la marque probable, utile pour afficher le bon logo ou adapter un formulaire. Le tout se calcule dans votre navigateur, sans transmettre le numéro.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Le réseau se lit dans les premiers chiffres
Le début d’un numéro de carte — ce qu’on appelle l’IIN — désigne le réseau émetteur. Une carte Visa commence par 4, une Mastercard par une plage de 5 ou de 2, une American Express par 34 ou 37, avec quinze chiffres au lieu de seize. L’outil lit ces préfixes et la longueur pour annoncer la marque la plus probable. Il suffit souvent des premiers chiffres pour trancher, avant même la saisie complète.
Type de carte ou validité : ne pas confondre
Reconnaître la marque n’est pas valider la carte. Le type se déduit du préfixe ; la cohérence du numéro complet relève de la clé de Luhn, et la validité réelle du système de paiement. Ces contrôles s’empilent : d’abord la marque pour l’affichage, puis la clé pour la saisie, enfin l’autorisation côté banque. L’outil se limite au premier étage, celui de l’identification du réseau.
À quoi sert la détection
Dans un formulaire de paiement, afficher le logo du bon réseau dès les premiers chiffres rassure le client et réduit les erreurs. Cela permet aussi d’adapter la saisie — American Express attend un cryptogramme à quatre chiffres, les autres trois — ou de refuser en amont un réseau que vous n’acceptez pas. La détection améliore l’expérience sans jamais avoir besoin d’envoyer le numéro ailleurs.
Cas d’usage
Afficher le bon logo au paiement
Sur la page de règlement d’une boutique, le logo Visa ou Mastercard apparaît dès que le client tape les premiers chiffres, ce qui confirme visuellement la carte reconnue.
Adapter le champ cryptogramme
Détectant une American Express, le formulaire attend un cryptogramme à quatre chiffres au lieu de trois, ce qui évite un rejet pour saisie incomplète.
Filtrer un réseau non accepté
Un commerçant qui n’accepte pas l’American Express le signale poliment dès la détection de la marque, avant que le client n’aille au bout de la saisie.
Questions fréquentes
Comment le type de carte est-il reconnu ?
À partir des premiers chiffres du numéro, l’IIN, propre à chaque réseau, et de la longueur attendue. Visa commence par 4, American Express par 34 ou 37 avec quinze chiffres. L’outil en déduit la marque la plus probable.
La détection valide-t-elle la carte ?
Non. Elle identifie le réseau, pas la validité. La cohérence du numéro se vérifie avec la clé de Luhn ; l’autorisation réelle appartient au système de paiement. Ce sont trois contrôles distincts et complémentaires.
Le numéro est-il envoyé sur vos serveurs ?
Non. La détection se fait dans votre navigateur, sur votre appareil. Le numéro n’est ni enregistré, ni journalisé, ni transmis. Lire un préfixe ne demande aucune connexion extérieure.
Suffit-il des premiers chiffres ?
Souvent, oui. Les préfixes permettent généralement d’annoncer la marque avant la saisie complète, ce qui est pratique pour afficher un logo en temps réel. La longueur totale confirme ensuite le réseau attendu.
Est-ce gratuit ?
Oui, sans limite ni inscription dans le navigateur. Seule l’intégration automatisée via l’API est facturée à l’usage, $0.002 par requête, en dollars US, tarif affiché sans abonnement.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/verify/card-type \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/card-type", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/card-type",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/card-type", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/card-type", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"items": [
"valor-1",
"valor-2"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.card_type",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |