---
title: "Stripe Webhook"
method: POST
path: "/v1/webhooks/stripe"
tags: ["identity"]
---

# Stripe Webhook

`POST /v1/webhooks/stripe`

## Request

- Base URL: `https://api.mundane.market` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mundane.market/v1/webhooks/stripe`
- Auth: none declared

Stripe → Mundane webhook. Verifies signature when real Stripe is
configured; the mock client trusts the payload (it only fires from our
own endpoints).

Handled event types:
  identity.verification_session.verified        → 'verified' if the document's DOB is 18+, else 'rejected'
  identity.verification_session.requires_input  → flip to 'rejected' (verification failed)
  checkout.session.completed                     → credit wallet (payments.complete_topup)
  transfer.created / transfer.failed             → worker payout state transitions

## Headers

- `Stripe-Signature` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/mundane/apis/mundane-api.md) · [All operations](https://skmtc.dev/mundane/apis/mundane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mundane/apis/mundane-api/revisions/f1cba6e69834?raw)
