Como Corrigir 'Tentativa de Pagamento Stripe Falhou Porque Uma Acao Adicional E Necessaria'
Como Corrigir 'Tentativa de Pagamento Stripe Falhou Porque Uma Acao Adicional E Necessaria'
TL;DR — Resposta rápida
2 min de leituraO erro 'acao adicional necessaria' do Stripe e causado pela Autenticacao Forte do Cliente (SCA) sob as regulamentacoes europeias PSD2. Corrija implementando a API Payment Intents e tratando o fluxo de autenticacao 3D Secure.
Se voce encontrar o erro do Stripe "a tentativa de pagamento falhou porque uma acao adicional e necessaria", este guia explica o que causa isso e como resolver.
O Que Causa Este Erro
Este erro normalmente ocorre por causa dos requisitos de Autenticacao Forte do Cliente (SCA) sob as regulamentacoes europeias PSD2. A SCA exige autenticacao de dois fatores para muitos pagamentos online, o que significa que os clientes devem verificar sua identidade junto ao banco antes que o pagamento seja concluido.
Quando um pagamento requer SCA mas sua integracao nao trata o fluxo de autenticacao, o Stripe retorna este erro.
Como Corrigir
Para Clientes
- Verifique o aplicativo ou e-mail do seu banco. Seu banco pode ter enviado uma solicitacao de autenticacao que precisa de aprovacao.
- Tente o pagamento novamente. Alguns bancos exigem que voce aprove explicitamente a transacao pelo aplicativo movel ou site.
- Entre em contato com seu banco. Se o problema persistir, seu banco pode estar bloqueando a transacao e pode ajudar a autoriza-la.
- Use um metodo de pagamento diferente. Se seu cartao principal continuar falhando, tente um cartao ou metodo de pagamento alternativo.
Para Desenvolvedores
- Implemente a API Payment Intents do Stripe. A antiga API Charges nao suporta SCA. Payment Intents trata o fluxo de autenticacao automaticamente.
- Use Stripe.js e Stripe Elements. Essas ferramentas client-side gerenciam o popup de autenticacao 3D Secure que os bancos exigem.
- Trate o status
requires_action. Quando um PaymentIntent retorna este status, usestripe.confirmCardPayment()no client-side para acionar o fluxo de autenticacao do banco. - Atualize os handlers de webhook. Garanta que seu backend trate o evento
payment_intent.succeededque dispara apos autenticacao bem-sucedida, nao apenas o evento de criacao inicial.
Fluxo de Exemplo
1. Cliente envia o pagamento
2. Stripe retorna PaymentIntent com status: requires_action
3. Seu frontend chama stripe.confirmCardPayment(clientSecret)
4. Cliente completa a autenticacao bancaria (popup 3D Secure)
5. Stripe confirma o pagamento e dispara webhook
6. Seu backend processa o pagamento bem-sucedido
Prevenindo Problemas Futuros
- Sempre use a API Payment Intents para novas integracoes
- Teste com os numeros de cartao de teste SCA do Stripe (ex.:
4000 0027 6000 3184para autenticacao necessaria) - Implemente tratamento adequado de erros para todos os status de pagamento
- Mantenha as versoes da sua biblioteca Stripe atualizadas
O requisito SCA afeta todos os negocios que processam pagamentos de clientes europeus. Implementar autenticacao adequada de pagamento nao e opcional -- e um requisito regulatorio.
Este artigo foi útil?
Diga-nos o que pensa!
Antes de ir...
Artigos relacionados
Como Investigar e Diagnosticar uma Queda no Tráfego do Site
Uma abordagem sistemática de 9 passos para diagnosticar por que o tráfego do seu site caiu, desde verificar canais e páginas de analytics até investigar atualizações de algoritmo e atividade de concorrentes.
Como Encontrar e Corrigir Paginas de Erro 404 Usando Web Analytics
Erros 404 prejudicam silenciosamente a UX, o SEO e as conversoes. Aprenda a rastrear com analytics, identificar os piores infratores e corrigi-los com redirecionamentos e links atualizados.
Como Verificar Se Sua Ferramenta de Web Analytics Está Funcionando Corretamente
Um checklist passo a passo para confirmar que seu script de analytics está instalado corretamente, rastreando pageviews, registrando metas e não contando visitantes em duplicidade.