What Stripe shows when the provider is Stripe
Stripe describes 3D Secure as a protocol that verifies the person making the purchase is the cardholder. The issuer may request a prompt such as a password, a one-time code, or a biometric check. Stripe says the issuer determines whether the flow is a challenge or a frictionless flow. Setting a preference for a challenge does not guarantee that flow.
Stripe's authentication flow says that when 3D Secure is required, the PaymentIntent moves to requires_action. If the result is authenticated, Stripe attempts the charge and the PaymentIntent moves to processing. If the result is a failure, the PaymentIntent moves to requires_payment_method, which means a different payment method is needed or 3D Secure can be retried by confirming again. A result of attempt_acknowledged can still lead to a charge, except in the Indian e-mandate case Stripe states separately. The payment then ends as succeeded, requires_capture, or requires_payment_method.
After a redirect, Stripe says to provide a return URL and, when the PaymentIntent is requires_action with a redirect, that 3D Secure is required. The integration then retrieves the PaymentIntent and reads its status. The Charge can also carry a three_d_secure result when the buyer attempted authentication. Stripe's Dashboard authentication chart uses separate outcomes: a successful frictionless flow, a successful challenge, a failed challenge where the buyer abandoned the flow or the bank rejected it, 3D Secure unavailable when the bank does not support it or returns an error, and 3D Secure not actioned when the buyer did not enter the flow or the integration did not action the attempt.
Stripe's payment-status page says requires_action is shown in the Dashboard as Incomplete, and that edge cases can change the mapping. The PaymentIntent status, read in the API or Workbench, is the more specific record. These names are Stripe's. Do not paste them onto another provider's dashboard.