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:

  1. 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).
  2. 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

Postagens mais visitadas deste blog

Teste de Caixa-Preta

Teste de Estresse

Teste de Caixa-Branca

Plano de Teste - Padrão IEEE 829-1998

Teste de Integração

Teste de Aceitação