> ## Documentation Index
> Fetch the complete documentation index at: https://memberpulseptyltd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Stripe

> Payment processing, invoicing, and subscription management

## Overview

Stripe integration enables MemberPulse to process payments, manage subscriptions, and handle invoicing for membership plans and event tickets.

## Features

| Feature              | Description                                              |
| -------------------- | -------------------------------------------------------- |
| Payment Processing   | Accept credit cards, bank transfers, and digital wallets |
| Subscription Billing | Automated recurring payments for membership plans        |
| Invoicing            | Generate and send professional invoices                  |
| Refunds              | Process refunds directly from MemberPulse                |
| Payment Methods      | Save cards for future payments                           |
| Webhooks             | Real-time payment event notifications                    |

## Configuration

### Prerequisites

1. Create a Stripe account at [stripe.com](https://stripe.com)
2. Obtain your API keys from the Stripe Dashboard
3. Configure webhook endpoints

#### Acceptance Criteria

##### Frontend

* [ ] Prerequisites workflow is implemented in the UI as described.

##### Backend / API

* [ ] Backend behavior supports Prerequisites as documented.

##### Permissions

* [ ] Access is restricted per the Capabilities matrix on this page (or equivalent role rules).

##### Business Rules

* [ ] All business rules for this feature are enforced.

##### Error Handling

* [ ] Error states return clear messages and appropriate HTTP status codes.

### Environment Variables

```bash theme={null}
STRIPE_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_live_xxxxxxxxxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxxxxxxxxx
```

#### Acceptance Criteria

##### Frontend

* [ ] Environment Variables workflow is implemented in the UI as described.

##### Backend / API

* [ ] Backend behavior supports Environment Variables as documented.

##### Permissions

* [ ] Access is restricted per the Capabilities matrix on this page (or equivalent role rules).

##### Business Rules

* [ ] All business rules for this feature are enforced.

##### Error Handling

* [ ] Error states return clear messages and appropriate HTTP status codes.

### Platform Settings

Navigate to **Client Portal > Settings > Integrations > Stripe**

| Setting         | Type   | Required | Description            |
| --------------- | ------ | -------- | ---------------------- |
| Mode            | Toggle | Yes      | Live or Test mode      |
| Publishable Key | Text   | Yes      | Public API key         |
| Secret Key      | Secret | Yes      | Private API key        |
| Webhook Secret  | Secret | Yes      | Webhook signing secret |

#### Acceptance Criteria

##### Frontend

* [ ] Platform Settings workflow is implemented in the UI as described.

##### Backend / API

* [ ] Backend behavior supports Platform Settings as documented.

##### Permissions

* [ ] Access is restricted per the Capabilities matrix on this page (or equivalent role rules).

##### Business Rules

* [ ] All business rules for this feature are enforced.

##### Error Handling

* [ ] Error states return clear messages and appropriate HTTP status codes.

## Webhook Events

| Event                           | Description                    |
| ------------------------------- | ------------------------------ |
| `payment_intent.succeeded`      | Payment completed successfully |
| `payment_intent.failed`         | Payment failed                 |
| `invoice.paid`                  | Invoice was paid               |
| `invoice.payment_failed`        | Invoice payment failed         |
| `customer.subscription.created` | New subscription created       |
| `customer.subscription.updated` | Subscription changed           |
| `customer.subscription.deleted` | Subscription cancelled         |

## API Endpoints

```
POST /api/payments/create-intent       # Create payment intent
POST /api/payments/confirm             # Confirm payment
GET  /api/payments/{id}                # Get payment details
POST /api/subscriptions/create         # Create subscription
PUT  /api/subscriptions/{id}           # Update subscription
DELETE /api/subscriptions/{id}         # Cancel subscription
```

## Troubleshooting

For Stripe integration issues, see the [Admin Troubleshooting Guide](/admin/stripe-troubleshooting).

#### Acceptance Criteria

##### Frontend

* [ ] UI provides configuration controls and status/health indicators for this integration.

##### Backend / API

* [ ] Integration can be connected, configured, and exercised end-to-end (auth + sync/webhooks).

##### Permissions

* [ ] Only `ROLE_CLIENT_ADMIN` (or equivalent) can configure the integration.

##### Business Rules

* [ ] Data sync respects tenant isolation and mapping rules.

##### Error Handling

* [ ] Auth and sync failures are surfaced with actionable messages and retry behavior.
