What Is the requires_action Status
In Stripe's API, a PaymentIntent object moves through several statuses during its lifecycle. One of these is requires_action.
This status means Stripe has already created the payment intent and attached a payment method, but the transaction requires an action from the cardholder to proceed. The payment is on hold โ it is waiting for you.
Why It Happens
The requires_action status occurs in several situations:
- 3DS authentication. The most common case. The bank requests confirmation via 3D Secure โ this might be an OTP code, biometrics, or in-app approval.
- Redirect to bank page. For some payment methods (bank transfers, iDEAL, Bancontact), the user must be redirected to their bank's page.
- Other actions. In rare cases, a different action type defined in the
next_actionfield of the PaymentIntent object may be required.
What the Cardholder Must Do
The required action depends on the next_action type:
use_stripe_sdk/redirect_to_urlโ Stripe will open a popup or redirect you to the bank's authentication page. Follow the on-screen instructions.OTP via SMS โ Check your phone for a message from your bank. Enter the code in the field that appears.
Push notification โ Open your mobile banking app and approve the payment.
Bank page redirect โ If you were redirected to your bank's site, log in and approve the transaction.
After the action is completed successfully, the PaymentIntent status automatically changes to succeeded.
Technical Notes for Developers
If you are a developer integrating Stripe:
- Use
stripe.handleNextAction()(Stripe.js) to handlerequires_actionautomatically. - The
payment_intent.requires_actionwebhook event notifies you to show the user a confirmation step. - Do not treat
requires_actionas an error โ it is a normal lifecycle step for SCA-required payments.
FAQ
How long is the requires_action status valid?
Typically 15โ30 minutes. If the cardholder does not complete the action in time, the session expires and the PaymentIntent moves to requires_payment_method.
What if I pressed "back" during authentication?
The PaymentIntent remains in requires_action, but the action link may become stale. The merchant should show a "retry" button or create a new PaymentIntent.
Can I get requires_action when paying with Apple Pay? Usually not. Apple Pay uses the Device Account Number and on-device biometrics, which automatically satisfies SCA requirements without additional steps.
Want to minimize extra authentication steps when paying? Try Marix. Our cards are optimized for smooth international payments.

