Ferramentas de Desenvolvimento

Números de cartão de crédito para testes

Números de cartão de teste para Stripe, PayPal, Square e Braintree. Organizados por bandeira e padrão de sucesso/falha, com cópia em um clique. Use durante a implementação e testes de pagamento.


[[ labels.stripe_hint ]]
Service [[ labels.col_number ]] [[ labels.col_brand ]] [[ labels.col_behavior ]]
[[ card.service ]] [[ formatNumber(card.number) ]] [[ card.brand ]] [[ labels['subtype_' + card.subtype] ]] [[ behaviorLabel(card.behavior) ]]

Dicas

  • No modo de teste do Stripe, qualquer CVC de 3 dígitos (4 para Amex), qualquer data de vencimento futura e qualquer CEP de 5 dígitos serão aceitos. Nenhuma cobrança real ocorre enquanto você usar chaves de teste.
  • Todos os números de cartão de teste são projetados para passar na verificação de Luhn (algoritmo de validação de números de cartão), portanto não serão rejeitados pela validação do frontend.
  • Para testar o 3D Secure (3DS), use cartões dedicados. 4000002500003155 aciona o diálogo de autenticação, e 4000000000003220 é usado para o fluxo 3DS 2.
  • Usar números de cartão de teste em produção resultará em uma transação recusada. Sempre use chaves de teste com cartões de teste. No Stripe, as chaves de teste começam com sk_test_.

Perguntas frequentes

Enquanto você os usar com chaves de teste (como sk_test_), nenhuma cobrança real ocorrerá. Se acidentalmente usar uma chave de produção, a transação será tentada mesmo com números de teste, então tenha cuidado para não misturá-las.

No Stripe, qualquer número serve para o CVC (3 dígitos para Visa/Mastercard, 4 para Amex), qualquer data futura para a validade (ex.: 12/34) e qualquer CEP de 5 dígitos. Os ambientes sandbox do PayPal, Square e Braintree também não validam esses valores com rigor.

É uma fórmula que verifica se os dígitos e a estrutura de um número de cartão são válidos. Cada segundo dígito a partir da direita é dobrado e todos os dígitos são somados; se o total for múltiplo de 10, o número é considerado válido. Detecta a maioria dos erros de digitação, mas não pode verificar se o cartão existe de fato.

"4242..." é fácil de lembrar por ser uma sequência repetida e foi projetado para passar na verificação de Luhn. O uso deste número pelo Stripe em sua documentação oficial por muitos anos o tornou o padrão de facto entre os desenvolvedores de pagamento.

Curiosidade — O algoritmo de Luhn — O guardião dos números de cartão desde 1954

O "dígito verificador" no final de um número de cartão de crédito é validado por um algoritmo criado em 1954 pelo engenheiro da IBM Hans Peter Luhn. Os dígitos alternados a partir da direita são dobrados, todos os dígitos são somados e o resultado deve ser divisível por 10. Esse algoritmo simples ainda é usado pelas principais bandeiras, incluindo Visa, Mastercard e Amex, e detecta a grande maioria dos erros de digitação.

No entanto, a verificação de Luhn serve apenas para detectar erros de dígitos — não verifica se o cartão existe de fato. Usá-la na validação do lado do cliente é apenas uma melhoria de UX (notificação de erro imediata) e não previne fraudes. A autorização real sempre deve ser realizada no servidor por meio de um gateway de pagamento.

Os números de cartão de teste são números fixos que cada serviço de pagamento projetou deliberadamente para passar na verificação de Luhn. Por exemplo, o 4242424242424242 do Stripe é fácil de memorizar e passa na validação de Luhn. O número em si não tem nenhum significado especial — ele simplesmente é mapeado para um comportamento (como "sucesso" ou "falha") dentro do sistema do Stripe.