ForHosting KIT · Dati e file

Verificare una carta di credito con l’algoritmo di Luhn

Questo validatore elimina gli spazi e i trattini comuni dal numero fornito, controlla che ogni carattere restante sia una cifra e applica il checksum deterministico di Luhn.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Indica inoltre il circuito probabile in base ai prefissi riconosciuti di Visa, Mastercard, American Express e Discover. Il risultato può individuare frequenti errori di digitazione prima di una richiesta di pagamento, ma non prova che il conto esista, sia attivo, appartenga al cliente o possa completare un acquisto.

Normalizzazione e controllo dei dati inseriti

Inserisca il numero della carta come stringa, usando solo cifre oppure il consueto formato a gruppi separati da spazi o trattini. Il validatore rimuove esclusivamente questi due separatori. In seguito richiede che ogni carattere rimasto sia una cifra ASCII. Lettere, punteggiatura, barre, trattini bassi e qualsiasi altro simbolo producono un errore di input invece di essere ignorati silenziosamente. Questa regola rigorosa evita che una pulizia troppo permissiva trasformi un valore accidentale o malformato in un numero differente, dando un esito fuorviante. Vengono rifiutati anche una stringa vuota, un valore composto soltanto da separatori o un valore che non sia una stringa. L’oggetto restituito non ripete mai il numero normalizzato: contiene soltanto l’esito del checksum e il circuito probabile. Nella Sua applicazione tratti sempre il dato originale come informazione di pagamento sensibile, anche se questo calcolo locale non richiede consultazioni dell’emittente, autorizzazioni, richieste di rete, casualità o stato persistente.

Che cosa indica davvero il risultato di Luhn

L’algoritmo di Luhn calcola una cifra di controllo concepita per rilevare comuni errori di trascrizione. Partendo dalla cifra più a destra, il validatore alterna una cifra invariata e una raddoppiata. Se un valore raddoppiato supera nove, sottrae nove; quindi somma tutti i valori e considera superata la prova quando il totale è divisibile per dieci. Un risultato positivo significa soltanto che la sequenza è matematicamente coerente con la cifra di controllo finale. Non dimostra che una banca abbia emesso il numero, che il conto sia aperto, che disponga di fondi o che la persona sia autorizzata a usarlo. Una sequenza inventata può superare Luhn, mentre una carta autentica con una cifra errata di solito fallisce. Usi quindi l’esito come riscontro iniziale nel modulo o come controllo della qualità dei dati; affidi poi tokenizzazione, autenticazione, autorizzazione, controlli antifrode e decisione finale a un elaboratore di pagamenti conforme.

Come viene individuato il circuito probabile

Il circuito viene dedotto dal prefisso identificativo dell’emittente, non consultato in un registro remoto. Un numero che inizia con 4 viene indicato come Visa. Mastercard comprende l’intervallo tradizionale da 51 a 55 e quello più recente da 2221 a 2720. American Express utilizza 34 e 37. Discover comprende 6011, 65, l’intervallo da 644 a 649 e quello assegnato da 622126 a 622925. Se nessuna regola coincide, il circuito risulta sconosciuto, mentre il calcolo di Luhn prosegue normalmente. La parola probabile è fondamentale: le assegnazioni evolvono, esistono prodotti in co-branding e lo strumento riconosce volutamente soltanto i quattro circuiti richiesti. Il riconoscimento del prefisso e il checksum sono indipendenti; un numero può avere un prefisso noto ma fallire Luhn, oppure superare Luhn con circuito sconosciuto. Ogni richiesta usa il prezzo base pubblicato di $0.002, senza costi variabili legati alla lunghezza o al circuito rilevato.

Avviso durante la compilazione

Individui una probabile cifra errata prima di affidare i dati a un elaboratore conforme per l’autorizzazione.

Qualità dei dati importati

Controlli la struttura dei numeri provenienti da archivi senza affermare che i relativi conti siano ancora attivi.

Test dei moduli di pagamento

Verifichi che i separatori consentiti siano accettati e che i caratteri errati vengano rifiutati con coerenza.

Superare Luhn dimostra che la carta è reale?

No. Dimostra soltanto che le cifre rispettano un checksum. Esistenza, titolarità, stato, fondi e autorizzazione richiedono la risposta dell’elaboratore e dell’emittente.

Quali caratteri di formattazione posso usare?

Può includere spazi e trattini. Vengono rimossi prima del controllo; ogni altro carattere non numerico genera un errore di input.

Quali circuiti possono essere identificati?

Le regole dei prefissi riconoscono probabilmente Visa, Mastercard, American Express e Discover. Gli altri prefissi restituiscono sconosciuto.

Un prefisso riconosciuto può avere un checksum errato?

Sì. La classificazione del prefisso e il calcolo di Luhn sono indipendenti; un prefisso Visa non garantisce quindi un esito positivo.

Il validatore contatta una banca o un circuito?

No. Il risultato deriva da calcoli deterministici e regole sui prefissi, senza consultazioni remote né tentativi di autorizzazione.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/data/credit-card-luhn-validate

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/data/credit-card-luhn-validate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"4111 1111 1111 1111"}'
{
  "number": "4111 1111 1111 1111"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.credit_card_luhn_validate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_mb25
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →