Tutoriais

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'

Flowsery Team
Flowsery Team
2 min de leitura

TL;DR — Resposta rápida

2 min de leitura

O 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

  1. Verifique o aplicativo ou e-mail do seu banco. Seu banco pode ter enviado uma solicitacao de autenticacao que precisa de aprovacao.
  2. Tente o pagamento novamente. Alguns bancos exigem que voce aprove explicitamente a transacao pelo aplicativo movel ou site.
  3. Entre em contato com seu banco. Se o problema persistir, seu banco pode estar bloqueando a transacao e pode ajudar a autoriza-la.
  4. Use um metodo de pagamento diferente. Se seu cartao principal continuar falhando, tente um cartao ou metodo de pagamento alternativo.

Para Desenvolvedores

  1. Implemente a API Payment Intents do Stripe. A antiga API Charges nao suporta SCA. Payment Intents trata o fluxo de autenticacao automaticamente.
  2. Use Stripe.js e Stripe Elements. Essas ferramentas client-side gerenciam o popup de autenticacao 3D Secure que os bancos exigem.
  3. Trate o status requires_action. Quando um PaymentIntent retorna este status, use stripe.confirmCardPayment() no client-side para acionar o fluxo de autenticacao do banco.
  4. Atualize os handlers de webhook. Garanta que seu backend trate o evento payment_intent.succeeded que 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 3184 para 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...

Flowsery

Flowsery

Analytics orientado para receitas para o seu site

Rastreie cada visitante, fonte e conversão em tempo real. Simples, poderoso e totalmente conforme com o RGPD.

Flowsery

Painel em tempo real

Rastreamento de metas

Rastreamento sem cookies

Artigos relacionados