PaymentIntents fora da sessão não confirmados por não cumprir requisitos da SCA ficam com o status "requires_payment_method". A execução de um fluxo de confirmação manual exige que o PaymentIntent tenha o status "requires_action".
Opção 1
Crie um PaymentIntent usando a mesma combinação de cliente e forma de pagamento.
-
Tente a confirmação com "off_session" definida como
false
.A confirmação deve falhar, e o PaymentIntent ficará com o status "requires_action".
Use esse novo PaymentIntent para concluir a confirmação manual.
Opção 2
Use uma chamada da API para atualizar o PaymentIntent, definindo payment_method como o ID da mesma forma de pagamento que falhou.
-
Tente a confirmação com "off_session" definida como
false
.A confirmação deve falhar, e o PaymentIntent ficará com o status "requires_action".
Conclua a confirmação manual com esse PaymentIntent.
Outras informações
O método
stripe.handleCardPayment
usado na confirmação manual funciona apenas com o status "requires_action". Portanto, será necessário passar o PaymentIntent para esse status.