> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mlm-platform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stripe webhook receiver

> Receives Stripe webhook events. Validates the `stripe-signature` header
against the per-tenant webhook secret stored in tenant settings.
Use `environment=sandbox` when configuring Stripe test mode.




## OpenAPI

````yaml api/openapi-integration.yaml post /api/v1/webhooks/stripe
openapi: 3.1.0
info:
  title: MLM Platform Integration API
  version: 1.0.0
  description: >
    Tenant integrator APIs for external platform federation and member-data
    access,

    including OIDC token exchange, external user linking, genealogy, referrals,
    and commissions.


    ## Authentication

    All API requests require a tenant API key passed in the `x-tenant-api-key`
    header.


    ## Token Exchange

    External platforms can exchange their JWT tokens for MLM platform tokens
    using

    the `/api/v1/auth/exchange` endpoint.
  contact:
    name: MLM Platform Support
    email: support@mlm-platform.example.com
servers:
  - url: https://app.mlm-platform.com
    description: Production API
  - url: http://localhost:3000
    description: Local Development
security:
  - TenantApiKey: []
tags:
  - name: Auth
    description: Authentication and token exchange
  - name: Genealogy
    description: Member hierarchy and relationships
  - name: Referrals
    description: Referral statistics and QR codes
  - name: Commissions
    description: Commission history and breakdowns
  - name: Webhooks
    description: Webhook receivers for third-party providers (Stripe, Wise)
paths:
  /api/v1/webhooks/stripe:
    post:
      tags:
        - Webhooks
      summary: Stripe webhook receiver
      description: |
        Receives Stripe webhook events. Validates the `stripe-signature` header
        against the per-tenant webhook secret stored in tenant settings.
        Use `environment=sandbox` when configuring Stripe test mode.
      operationId: stripeWebhook
      parameters:
        - name: tenant_id
          in: query
          required: true
          schema:
            type: string
            format: uuid
        - name: environment
          in: query
          required: false
          schema:
            type: string
            enum:
              - sandbox
          description: When set to `sandbox`, processes using SANDBOX tenant settings.
      responses:
        '200':
          description: Event received
        '400':
          description: Invalid request or missing signature
        '401':
          description: Invalid signature
      security: []
components:
  securitySchemes:
    TenantApiKey:
      type: apiKey
      in: header
      name: x-tenant-api-key
      description: Tenant API key for authentication

````