# `Accrue.ActionRequiredError`
[🔗](https://github.com/szTheory/accrue/blob/accrue-v1.0.0/lib/accrue/errors.ex#L212)

Raised when a Stripe PaymentIntent or SetupIntent transitions to
`requires_action` (SCA / 3DS). The `:payment_intent` field carries the
full PaymentIntent payload so callers can extract `client_secret` and
drive the Stripe.js confirmation flow on the frontend.

This is a distinct exception from `Accrue.CardError` because it is NOT
a failure — the charge is still recoverable, it just needs the
customer to complete an authentication step.

# `t`

```elixir
@type t() :: %Accrue.ActionRequiredError{
  __exception__: true,
  message: term(),
  payment_intent: term()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
