# What Permissions Redux Uses And Why

{% hint style="success" %}
To recover failed payments, Redux needs visibility into how billing works inside Stripe and the ability to retry charges. The permissions shown are the minimum required to do that safely and effectively.
{% endhint %}

Redux recovers failed payments inside your Stripe account. To do that, it needs access to the parts of Stripe where payment attempts, declines, customer data, and subscription details live. These permissions allow Redux to detect failures, understand why they happened, and retry them at the right time.

Here’s what each category is doing at a high level:

**Customers and Subscriptions**\
Redux needs to see who is being billed and what they’re subscribed to. This tells Redux which payments belong to which customers and what should be retried.

**Invoices, PaymentIntents, Charges, PaymentMethods**\
This is where Stripe records every payment attempt, every decline, and the reason it failed. Redux reads these so it can run smarter retries. It also needs permission to create a retry attempt when the timing or conditions are better.

**SetupIntents**\
Used when customers add or update cards. Redux needs to monitor this so it knows when a new payment method is available for recovery.

**Events and Webhooks**\
Stripe sends real-time notifications whenever a payment succeeds, fails, or changes. Redux listens to these events so it can react immediately instead of waiting for batch data.

**Everything listed as Read-only**\
These are supporting objects that help Redux understand your billing environment. They are not modified. They just allow Redux to stay in sync with how Stripe is set up.

<div align="left" data-with-frame="true"><figure><img src="/files/RKBW7Zq8S29bHryjodMn" alt=""><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.reduxpayments.com/getting-started/what-permissions-redux-uses-and-why.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
