> For the complete documentation index, see [llms.txt](https://docs.hyperswitch.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperswitch.io/integrations/connectors-integrations/payouts/stripe.md).

# Stripe

Configure Stripe as a payout processor on Juspay Hyperswitch to distribute funds via cards and SEPA bank transfers using Stripe Connect.

Stripe connects to Hyperswitch as a `PayoutProcessor` via Stripe Connect. It supports card payouts and SEPA bank transfers globally. Stripe is also a payment gateway on Hyperswitch — the same connector handles both inbound payments and outbound payouts.

### Authentication

Stripe uses `HeaderKey` authentication — a single API key sent as a Bearer token on every request.

| Credential  | Description                                                                                                                                     |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **API Key** | Stripe secret key (starts with `sk_live_` for production, `sk_test_` for test mode). Found in the Stripe Dashboard under Developers → API keys. |

### Supported Payout Methods

| Method         | Rails / Networks    | Notes                                          |
| -------------- | ------------------- | ---------------------------------------------- |
| Cards          | Major card networks | Card payouts to debit cards via Stripe Connect |
| Bank transfers | SEPA                | Bank account payouts within the SEPA zone      |

### Payout Flows

Stripe implements the following Hyperswitch payout flows:

| Flow                   | Description                                              |
| ---------------------- | -------------------------------------------------------- |
| **PoCreate**           | Creates the payout recipient in Stripe Connect           |
| **PoFulfill**          | Initiates the payout transfer                            |
| **PoCancel**           | Cancels a pending payout                                 |
| **PoRecipient**        | Creates or updates the connected account recipient       |
| **PoRecipientAccount** | Sets up or links a bank account to the connected account |

### Common Failure Modes

**Insufficient funds** Symptom: Stripe returns `insufficient_funds` error. Fix: Ensure the Stripe Connect platform account has sufficient available balance before initiating payouts.

**Connected account not ready** Symptom: Payout fails with `account_invalid` or `account_incomplete`. Fix: Verify the connected account has completed Stripe's identity verification and onboarding requirements. Stripe requires KYC completion before payouts can be disbursed.

**SEPA payout rejected** Symptom: Bank transfer fails with an IBAN validation error. Fix: Confirm the IBAN is valid and belongs to a SEPA-zone bank account. Stripe validates IBAN format before initiating the transfer.

***

### Activating Stripe Payouts via Hyperswitch

#### Prerequisites

1. A Stripe account with Connect enabled. Set up Stripe Connect in the Stripe Dashboard.
2. A registered Hyperswitch account, accessible from the [Hyperswitch control center](https://app.hyperswitch.io/).
3. Stripe secret key from the Stripe Dashboard under Developers → API keys.

[Steps to activate a connector on the Hyperswitch control center](/integrations/connectors-integrations/activate-connector-on-hyperswitch.md)

***

Connector implementation: `crates/hyperswitch_connectors/src/connectors/stripe.rs`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hyperswitch.io/integrations/connectors-integrations/payouts/stripe.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
