Testes
Simule pagamentos para testar a integração.
Para confirmar que sua integração funciona corretamente, simule transações sem mover nenhum dinheiro usando valores especiais no modo de teste.
Os cartões de teste permitem simular vários cenários:
- Pagamentos sucedidos por marca ou país do cartão
- Erros de cartão devidos a pagamentos recusados, fraudes ou dados inválidos
- Contestações e reembolsos
- Autenticação com 3D Secure e PINs
Os testes de pagamentos sem cartão funcionam de forma similar. Cada forma de pagamento tem seus próprios valores especiais. Devido às limitações de fluxo, não recomendamos usar o modo de teste para testar a carga da sua integração. Em vez disso, consulte a nossa documentação sobre testes de carga.
Como usar cartões de teste
Sempre que trabalhar com um cartão de teste, use chaves de API de teste em todas as chamadas de API. Isso vale para testes interativos de formas de pagamento ou para testes de programação.
Erro comum
Não use dados de cartão reais. O Contrato de Serviços da Stripe proíbe testes no modo de produção usando de forma de pagamento reais. Use suas chaves de API de teste e os números de cartão abaixo.
Testar interativamente
Em testes interativos, use um número de cartão como 4242 4242 4242 4242. Informe o número do cartão no Dashboard ou em qualquer formulário de pagamento.
- Use uma data futura válida, como 12/34.
- Use qualquer CVC de três dígitos (quatro em cartões American Express).
- Use qualquer valor nos outros campos do formulário.
Testar interativamente um formulário com o número de cartão de teste 4242 4242 4242 4242
Testar programação
Ao escrever código de teste, use um PaymentMethod
como pm_card_visa em vez de um número de cartão. Não recomendamos usar números de cartão diretamente em chamadas de API ou código do lado do servidor, mesmo no modo de teste. Se você usá-los, seu código pode não estar em conformidade com o PCI quando entrar em modo de produção. Por padrão, um PaymentMethod
não é vinculado a um Cliente.
A maioria das integrações não usa mais tokens, mas temos tokens de teste como tok_visa, caso sejam necessários.
Quando estiver com tudo pronto para usar a integração no ambiente de produção, substitua suas chaves de API de teste publicáveis e secretas pelas chaves do modo de produção. Não é possível processar os pagamentos no modo de produção com a integração usando as chaves de API de teste.
Cartões por bandeira
Para simular um pagamento bem-sucedido com uma bandeira de cartão específica, use os cartões de teste da lista a seguir.
Cuidado
As tarifas internacionais são avaliadas de acordo com o país do emissor do cartão. Os cartões em que o país do emissor não é os EUA (como JCB e UnionPay) podem estar sujeitos a uma tarifa internacional, mesmo no modo de teste.
A maioria dos cartões Cartes Bancaires e eftpos é de marca conjunta com Visa ou Mastercard. Os cartões de teste na tabela a seguir simulam pagamentos bem-sucedidos com cartões de marca conjunta.
Cartões por país
Para simular pagamentos bem-sucedidos em países específicos, use os cartões de teste das seções a seguir.
Pagamentos recusados
Para testar a lógica de tratamento de erros da sua integração simulando pagamentos que o emissor recusa por vários motivos, use os cartões de teste desta seção. Usar um desses cartões resulta em um erro no cartão com o código de erro informado e o código de recusa.
Erro comum
Para simular um CVC incorreto, forneça um usando qualquer número de três dígitos. Se você não fornecer um CVC, a Stripe não realizará a verificação de CVC e a falha não ocorrerá.
Prevenção de fraudes
O sistema de prevenção de fraudes da Stripe, o Radar, pode bloquear pagamentos com nível elevado de risco ou que falham nas verificações. Você pode usar os cartões desta seção para testar as configurações do Radar e como a integração responde a pagamentos bloqueados.
Cada cartão simula fatores de risco específicos. As configurações do Radar determinam quais fatores de risco bloqueiam um pagamento. Os pagamentos bloqueados geram erros de cartão com um código de erro de fraude.
Erro comum
Para simular uma falha de verificação de CVC, informe um CVC usando qualquer número com três dígitos. Para simular uma falha de verificação de código postal, informe qualquer código postal válido. Se esses valores não forem informados, o Radar não realizará as verificações e, portanto, não indicará uma falha de verificação.
Dados inválidos
Informe dados inválidos para testar os erros resultantes. Você não precisa de um cartão de teste especial para isso. Qualquer valor inválido funciona. Por exemplo:
- invalid_expiry_month: use um mês inválido, como 13.
- invalid_expiry_year: use um ano até 50 anos no passado, como 95.
- invalid_cvc: use um número de dois dígitos, como 99.
- incorrect_number: use um número de cartão que falha na verificação de Luhn, como .
Contestações
Para simular uma transação contestada, use os cartões de teste desta seção. Para simular o ganho ou perda da contestação, forneça comprovantes vencedores ou perdedores.
Comprovante
Para simular o ganho ou perda da contestação, responda com um dos valores de comprovante da tabela abaixo.
- Se você responder usando a API, passe o valor da tabela como uncategorized_text.
- Se você responder no Dashboard, informe o valor da tabela no campo Mais informações e clique em Enviar comprovante.
Comprovante | Descrição |
---|---|
winning_ | A contestação é encerrada e marcada como ganha. Sua conta recebe o crédito no valor da transação e as tarifas relacionadas. |
losing_ | A contestação é encerrada e marcada como perdida. Sua conta não é creditada. |
Reembolsos
No modo de produção, os reembolsos são assíncronos: um reembolso pode parecer bem-sucedido e falhar depois ou pode aparecer como pending
e depois ser bem-sucedido. Para simular reembolsos com esses comportamentos, use os cartões de teste desta seção (com todos os outros cartões de teste, os reembolsos são bem-sucedidos imediatamente e não mudam de status depois).
Você somente pode cancelar um reembolso de cartão usando o Dashboard. No modo de produção, você pode cancelar um reembolso de cartão em um período curto, mas não específico. O modo de teste simula esse período permitindo que você cancele um reembolso de cartão em 30 minutos.
Saldo disponível
Para enviar os fundos de uma transação de teste diretamente ao saldo disponível, use os cartões de teste desta seção. Outros cartões de teste enviam fundos de um pagamento bem-sucedido para o seu saldo pendente.
Autenticação do 3D Secure
O 3D Secure exige uma camada adicional de autenticação para transações com cartão de crédito. Use os cartões de teste desta seção para permitir que você simule o acionamento de autenticação em diferentes fluxos de pagamento.
Somente os cartões desta seção testam sua integração do 3D Secure de forma eficaz ao simular um comportamento 3DS definido, como um fluxo de desafio ou um cartão não aceito. Outros cartões de teste da Stripe ainda podem acionar 3DS, mas retornamos attempt_
para contornar as etapas adicionais, pois o teste de 3DS não é o objetivo desses cartões.
Dashboard não compatível
Os redirecionamentos do 3D Secure não ocorrem em pagamentos criados diretamente no Stripe Dashboard. Para redirecionar, use o front-end da integração ou uma chamada de API.
Autenticação e configuração
Para simular fluxos de pagamento que incluem a autenticação, use os cartões de teste desta seção. Alguns deles também podem ser ou já foram configurados para pagamentos futuros.
Aceitação e disponibilidade
A Stripe exige autenticação para cumprir regulamentações ou quando acionada pelas suas regras do Radar ou programação personalizada. Mesmo quando solicitada, nem sempre é possível executar a autenticação. Por exemplo, o cartão pode não estar inscrito ou um erro pode ocorrer. Use os cartões de teste desta seção para simular diversas combinações desses fatores.
Observação
Todas as referências a 3DS indicam 3D Secure 2.
Fluxos de desafio para dispositivos móveis do 3D Secure
Vários fluxos de desafio, nos quais o cliente precisa interagir com solicitações na IU, estão disponíveis para pagamentos em dispositivos móveis. Use os cartões de teste desta seção para acionar um fluxo de desafio específico em testes. Esses cartões não são úteis para formulários de pagamento baseados em navegador ou em chamadas de API. Nesses ambientes, eles funcionam, mas não acionam nenhum comportamento especial. Como eles não são úteis para chamadas de API, não fornecemos versões de PaymentMethod
ou Token
para testes.
Fluxo de desafio | Número | Detalhes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fora da Stripe | A autenticação do 3D Secure 2 precisa ser feita em todas as transações. Ela aciona o fluxo de desafio com a IU de fora da Stripe. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Senha de uso único | A autenticação do 3D Secure 2 precisa ser feita em todas as transações. Ela aciona o fluxo de desafio com a IU de senha de uso único. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Seleção única | A autenticação do 3D Secure 2 precisa ser feita em todas as transações. Ela aciona o fluxo de desafio com a IU de seleção única. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Seleção múltipla | A autenticação do 3D Secure 2 precisa ser feita em todas as transações. Ela aciona o fluxo de desafio com a IU de seleção múltipla. |
Desafio de captcha
Para evitar fraudes, a Stripe pode exibir um desafio de captcha ao usuário na página de pagamento. Use os cartões de teste abaixo para simular esse fluxo.
Descrição | Número | Detalhes |
---|---|---|
Desafio de captcha | A cobrança é bem-sucedida se o usuário responde corretamente ao desafio de captcha. | |
Desafio de captcha | A cobrança é bem-sucedida se o usuário responde corretamente ao desafio de captcha. |
Pagamentos com PINs
Use os cartões de teste desta seção para simular pagamentos presenciais bem-sucedidos que envolvem um PIN. Há muitas outras opções para testar pagamentos presenciais, incluindo uma máquina simulada e cartões de teste físicos. Consulte Testar o Stripe Terminal para obter mais informações.
Destinos de evento
To test event destinations, choose one of these two options:
- Perform actions in test mode that send legitimate events to your event destination. For example, to trigger the charge.succeeded event, you can use a test card that produces a successful charge.
- Trigger events using the Stripe CLI or using Stripe for Visual Studio Code.
Limitações de fluxo
Se as solicitações de teste começarem a receber erros HTTP 429
, reduza a frequência dessas solicitações. Esses erros são causados pelo limitador de fluxo, que é mais restrito no modo de teste que no modo de produção.
Não recomendamos realizar testes de carga da integração com a API da Stripe no modo de teste. Como o limitador de carga é mais restrito no modo de teste, podem ocorrer erros que não acontecem no modo de produção. Consulte os testes de carga para ver outra abordagem.
Pagamentos sem cartão
Sempre que usar uma forma de pagamento sem cartão de teste, use chaves de API de teste em todas as chamadas de API. Isso vale para testes interativos de formas de pagamento ou para testes de programação.
Formas de pagamento diferentes têm procedimento de teste distintos:
Link
Cuidado
Não armazene dados reais de usuários em contas do Link no modo de teste. Trate-as como se estivessem disponíveis publicamente, pois essas contas de teste estão associadas à sua chave publicável.
Currently, Link only works with credit cards, debit cards, and qualified US bank account purchases. Link requires domain registration.
Você pode criar contas no modo de teste para o Link usando qualquer endereço de e-mail válido. A tabela a seguir mostra os valores fixos de senha de uso único que a Stripe aceita para autenticar contas no modo de teste:
Valor | Resultado |
---|---|
Quaisquer outros 6 dígitos não listados abaixo | Sucesso |
000001 | Erro, código inválido |
000002 | Erro, código expirado |
000003 | Erro, número máximo de tentativas excedido |
Várias fontes de fundos
À medida que a Stripe adiciona outras fontes de financiamento, você não precisa atualizar sua integração. A Stripe aceita essas fontes automaticamente com o mesmo tempo de liquidação de fundos da transação e com as mesmas garantias dos pagamentos com cartão e conta bancária.
Redirecionamentos
Para testar a lógica de processamento de redirecionamentos da sua integração simulando um pagamento que usa um fluxo de redirecionamento (por exemplo, iDEAL), use uma forma de pagamento aceita que exija redirecionamentos.
Para criar um PaymentIntent
de teste bem-sucedido ou com falha:
- Acesse as configurações de formas de pagamento no Dashboard e ative uma forma de pagamento aceita clicando em Ativar no modo de teste.
- Coletar dados de pagamento.
- Envie o pagamento para a Stripe.
- Autorize ou gere falha no pagamento de teste.
Verifique se a página (correspondente a return_
) no seu site fornece o status do pagamento.