NewNo plan feeNo plan fee. Just 2.9% + $0.30 per card sale, and signing up is free.Try now →

Stripe · Códigos de recusa

O que significa o código de recusa Stripe authentication_required?

Verificado em

Stripe retorna authentication_required quando o banco do cartão recusa um pagamento porque precisa que o titular do cartão o verifique, geralmente através do 3D Secure. Não é uma recusa do próprio cartão. Quando o comprador está no checkout, os formulários de pagamento do Stripe normalmente abrem a etapa de verificação do banco para que ele possa aprovar e tentar novamente. Para pagamentos feitos sem o cliente presente, como uma renovação de assinatura, a loja tem que trazer o cliente de volta para confirmar o pagamento.

Tipo
Autenticação necessária (recusa suave)
Quem recusou
O banco do cartão
Tentar novamente
Somente depois que o titular do cartão completar a verificação do banco
Ação do comprador
Aprovar o pagamento na etapa de verificação do banco ou no aplicativo do banco
Ação do lojista
Pedir ao cliente para voltar e confirmar; não reenviar a mesma cobrança às cegas

O que a PlatformDTC faz

No checkout, PlatformDTC adiciona a dica "Seu banco exige autenticação. Por favor, tente novamente e complete a verificação." e mantém o pagamento no mesmo processador para 3D Secure, nunca o movendo para um processador de backup. Em renovações, no cronograma fixo ou com Smart retry, não é tentado novamente às cegas: é mantido como vencido e o cliente recebe um e-mail de "ação necessária" pedindo para confirmar o pagamento com seu banco.

Por que acontece

Bancos pedem verificação extra quando querem que o titular do cartão confirme um pagamento, e Stripe observa que empresas afetadas por regulamentações como Strong Customer Authentication verão pagamentos que exigem autenticação.

Stripe observa um caso incomum: se o banco retornar este código mesmo depois que o comprador completou a verificação, somente o banco pode explicar o porquê, então o cliente precisa contatá-lo.

O que o comprador pode fazer

Tente o pagamento novamente e complete a tela de verificação ou a solicitação de aprovação no seu aplicativo do banco. Se o banco continuar recusando depois que você verificou, ligue para o número no verso do cartão.

O que a loja pode fazer

Para assinaturas e outros pagamentos feitos enquanto o cliente está ausente, envie um e-mail ao cliente com um link para confirmar o pagamento. Tentar novamente a mesma cobrança sem eles não pode ter sucesso, porque ninguém está lá para responder ao desafio do banco.

Para desenvolvedores

O código chega como decline_code no last_payment_error do PaymentIntent. Fora da sessão, confirme o PaymentIntent em sessão com o cliente para que o Stripe possa executar o fluxo 3D Secure. Códigos Stripe relacionados: authentication_not_handled (o cliente pulou a etapa necessária) e o erro da API payment_intent_authentication_failure (verificação falhou).

Perguntas frequentes

authentication_required é uma recusa forte?
Não. O cartão ainda pode ser usado. O banco só quer que o titular do cartão confirme este pagamento, então ele é aprovado assim que eles completam a verificação.
Por que as renovações de assinatura recebem authentication_required?
As renovações são executadas sem o cliente presente, então a etapa de verificação do banco não pode ser exibida. O cliente tem que retornar e confirmar o pagamento, razão pela qual as lojas enviam um link de confirmação por e-mail em vez de tentar novamente.
O cliente verificou mas ainda recebeu authentication_required. Por quê?
Stripe diz que se o banco retornar este código apesar de um pagamento verificado com sucesso, o cliente precisa contatar o emissor do cartão para mais informações.

Fontes

Relacionado

Biblioteca de pagamentos