Como Gerar Dados Válidos de Cartão de Crédito para Testes de Pagamento (Sem Usar Dados Reais)
Testar fluxos de checkout e gateways de pagamento é uma das etapas mais críticas no dia a dia de QA e desenvolvimento. Um erro simples de validação de formulário ou uma falha de comunicação com a adquirente pode travar vendas inteiras em produção.
No entanto, um erro ainda comum em ambientes de homologação é a tentativa de mascarar ou reutilizar cartões reais de equipes internas, o que gera sérios riscos de compliance com normas como o PCI DSS e possíveis cobranças indevidas em ambientes mal configurados.
Abaixo, veja como estruturar testes de ponta a ponta utilizando números sintéticos matematicamente válidos.
Por que formulários rejeitam números aleatórios?
A maioria dos sistemas de checkout faz uma validação prévia no front-end antes mesmo de disparar uma requisição para a adquirente (como Stripe, Mercado Pago, Pagar.me ou Adyen).
Essa validação se baseia em duas regras principais:
- BIN (Bank Identification Number / IIN): Os primeiros dígitos identificam a bandeira (ex.: cartões Visa começam com 4, Mastercard com 51–55 ou 2221–2720, Elo com sequências específicas como 4011, 5067, 6363).
- Algoritmo de Luhn (Módulo 10): Uma fórmula matemática que calcula uma soma ponderada dos dígitos alternados para verificar a integridade do número contra erros de digitação.
Se o número gerado não respeitar o algoritmo de Luhn e a estrutura de BIN da bandeira, o formulário exibirá erro imediatamente, impedindo que o teste alcance o backend ou o sandbox do gateway.
O que validar em uma suíte de testes de pagamento
Ao planejar os cenários de teste para um fluxo de pagamento com cartão, cubra os seguintes pontos:
- Validações de interface e máscara: Verifique se a máscara aplica os espaços corretos por bandeira (ex.: 4 blocos de 4 dígitos para Visa/Mastercard; blocos de 4-6-5 dígitos para Amex) e se o ícone da bandeira é reconhecido dinamicamente.
- Cenários de borda no front-end: Teste datas de expiração inválidas (meses passados, ano anterior, mês maior que 12) e CVVs com 3 dígitos (Visa/Mastercard) e 4 dígitos (Amex).
-
Respostas do Gateway (Sandbox): Utilize os cartões específicos fornecidos pela documentação da sua adquirente para simular respostas reais de API:
- Transação autorizada (Status 200 / Capturado)
- Saldo insuficiente ou cartão bloqueado
- Cartão roubado / Fraude detectada
- Erro de timeout / Adquirente indisponível
Gerando massas de teste rápidas
Para preencher formulários em staging ou montar mocks de testes automatizados sem ferir regras de privacidade, você pode utilizar o gerador de cartão de crédito do box4.dev.
A ferramenta gera números sintéticos completos com bandeira, data de expiração e CVV que passam em todas as validações de front-end via Algoritmo de Luhn, garantindo que o seu fluxo de testes siga sem bloqueios artificiais de validação.
Comentários
Postar um comentário
Indique ou comente o post. Obrigado pela visita!