Você sabia?
Como funciona
#A regra por trás do resultado, explicada para quem quer entender a conta, conferir antes de usar ou aplicar no próprio trabalho.
A ferramenta monta números que passam nas duas verificações que um formulário faz antes de chamar a operadora: o formato da bandeira e o algoritmo de Luhn. Serve para testar checkout, máscara de campo e detecção de bandeira sem usar um cartão real.
O algoritmo de Luhn
Criado por Hans Peter Luhn nos anos 1950, é a conta que quase todo cartão usa para detectar erro de digitação.
Percorra o número da direita para a esquerda. Dobre cada segundo dígito. Se o resultado passar de 9, subtraia 9. Some todos os valores. Se o total for múltiplo de 10, o número passa.
O último dígito existe justamente para fechar essa soma. É por isso que trocar um algarismo qualquer quase sempre invalida o número inteiro, que é exatamente o que se quer ao digitar dezesseis dígitos à mão.
Luhn não diz se o cartão existe, se tem saldo ou se está ativo. Ele só filtra o que é impossível, antes de gastar uma consulta com a operadora.
O que o prefixo diz
Os primeiros dígitos identificam a bandeira, e é por isso que o logo aparece no checkout antes de você terminar de digitar.
| Bandeira | Começa com | Dígitos | CVV |
|---|---|---|---|
| Visa | 4 | 16 | 3 |
| Mastercard | 51 a 55 e 2221 a 2720 | 16 | 3 |
| Elo | 4011, 4312, 5041, 6362 e outros | 16 | 3 |
| American Express | 34 e 37 | 15 | 4 |
| Hipercard | 606282 | 16 | 3 |
| Diners Club | 300 a 305, 36 e 38 | 14 | 3 |
American Express é o caso que mais quebra formulário: quinze dígitos agrupados em 4-6-5 e CVV de quatro. Um campo preso no formato de dezesseis com CVV de três recusa um Amex legítimo.
Testar formulário e testar pagamento são coisas diferentes
Estes números servem para a primeira: máscara, validação, detecção de bandeira.
Para testar o resultado de uma transação, use os cartões de teste do seu gateway. Eles devolvem respostas controladas, como aprovado, recusado por saldo ou recusado por fraude, que é o que permite testar cada caminho do seu código. Cada gateway publica a própria lista na documentação.
Exemplos
#Testar a validação do checkout
Gere um número de cada bandeira e passe pelo formulário. Se o campo recusar o Amex, que tem 15 dígitos e CVV de 4, a máscara está presa no formato de 16.
Conferir a detecção de bandeira
Gere com a opção aleatória e veja se o seu checkout identifica a bandeira certa pelo prefixo, antes mesmo do número estar completo.
Popular um ambiente de homologação
Gere 20 cartões e copie como JSON para usar no seed do banco de testes.