## Handle a next action

`stripe.handleNextAction(options: object)`

Use `stripe.handleNextAction` in the [finalizing payments on the server](https://docs.stripe.com/payments/finalize-payments-on-the-server.md#next-actions) flow to finish confirmation of a [SetupIntent](https://docs.stripe.com/api/setup_intents.md) with the `requires_action` status. It will throw an error if the SetupIntent has a different status. Depending on the payment method and required action, the customer may be temporarily redirected from your site and brought back to the `return_url` [parameter](https://docs.stripe.com/api/setup_intents/confirm.md#confirm_setup_intent-return_url) provided when the SetupIntent is confirmed.

> Note that `stripe.handleNextAction` may take several seconds to complete.
> During that time, you should disable your form from being resubmitted and show a waiting indicator like a spinner.
> If you receive an error result, you should be sure to show that error to the customer, re-enable the form, and hide the waiting indicator.
>
> Additionally, `stripe.handleNextAction` may trigger a [3D Secure](https://docs.stripe.com/payments/3d-secure.md) authentication challenge.
> The authentication challenge requires a context switch that can be hard to follow on a screen-reader.
> Ensure that your form is accessible by ensuring that success or error messages are clearly read out.

- `options`
  - `clientSecret`
    The [client secret](https://docs.stripe.com/api/setup_intents/object.md#setup_intent_object-client_secret) of the `SetupIntent`.

### Example

```title
Handle a next action
```