Descubra a bandeira pelo número
Identifica a bandeira de um cartão a partir dos primeiros dígitos: Visa, Mastercard, Elo, Hipercard, American Express, Diners e outras. Roda grátis no navegador, sem cadastro — bastam os primeiros números, sem precisar do cartão completo. Para checkouts, conciliação de vendas e cadastros de meios de pagamento.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Os primeiros dígitos contam a história
O começo do número do cartão — o chamado BIN — identifica quem o emitiu: o 4 abre os Visa, o 5 boa parte dos Mastercard, e as faixas da Elo e do Hipercard, bandeiras nascidas no Brasil, têm seus próprios intervalos. É assim que o checkout mostra o logotipo certo enquanto você digita. Esta ferramenta aplica essas regras e devolve a bandeira na hora, com os primeiros seis dígitos ou até menos.
Bandeira certa, conta certa
Saber a bandeira não é capricho visual: as taxas que o lojista paga variam por bandeira, as regras de parcelamento também, e a conciliação de vendas precisa bater venda a venda com o extrato da adquirente. Um relatório que agrupa por bandeira começa aqui — identificar corretamente cada transação. E nos cadastros de assinatura, exibir “Visa final 4321” exige saber que é Visa.
No navegador de graça, no sistema via API
Aqui na página, digite os primeiros dígitos e veja a bandeira — nada é enviado a servidor, não há limite nem cadastro, e você nem precisa digitar o cartão inteiro. Via API, a identificação custa US$ 0,002 por chamada e devolve JSON com a bandeira detectada — para o seu checkout, o seu relatório de vendas ou a rotina de conciliação do financeiro.
Casos de uso
Logotipo dinâmico no checkout
O formulário de pagamento detecta a bandeira nos primeiros dígitos e mostra o logo correspondente — detalhe que reduz erro de digitação e passa confiança na hora H.
Conciliação por bandeira
O financeiro da Padaria Pão Dourado separa as vendas por bandeira para conferir as taxas da maquininha. Identificar a bandeira de cada registro é o primeiro passo do fechamento.
Regras de parcelamento
Lojas que parcelam diferente por bandeira (ou não aceitam alguma) aplicam a regra assim que o cliente digita os primeiros números — antes de ele preencher tudo e se frustrar.
Perguntas frequentes
Reconhece Elo e Hipercard?
Sim — as bandeiras brasileiras estão cobertas, junto com Visa, Mastercard, American Express, Diners e outras internacionais. Para o mercado brasileiro, Elo e Hipercard não são detalhe: são volume.
Preciso digitar o número completo?
Não, e é melhor que não: os primeiros seis dígitos bastam para identificar a bandeira. Menos dígitos digitados, menos exposição — a ferramenta foi desenhada para funcionar assim.
A identificação diz se o cartão é de crédito ou débito?
O foco da resposta é a bandeira. Crédito e débito hoje compartilham faixas, e o mesmo plástico muitas vezes é os dois — afirmar o tipo só pelo número seria chute, e a ferramenta não chuta.
Os números que eu digito vão para algum servidor?
Não: a detecção roda no seu navegador. E como bastam os primeiros dígitos, o número completo nem precisa existir na página.
Como uso no meu sistema e quanto custa?
Chamada de API com resposta em JSON, US$ 0,002 cada, cobrança por uso via PayPal. Preço publicado aqui, sem tabela escondida.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"items": [
"valor-1",
"valor-2"
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.card_type",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |