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

# Stripe Webhooks

> Handle incoming webhooks for fiat settlement.

When a transaction is settled on the fiat rail via Stripe, Delegare can forward normalized webhooks to your server.

### Available Events

* `payment.succeeded`: Fired when a charge successfully settles on the Stripe rail.
* `payment.failed`: Fired when a Stripe charge fails (e.g., card declined).
* `delegate.created`: Fired when a user successfully completes a setup session and a delegate token is generated.
* `delegate.revoked`: Fired when a user revokes a delegate token from their dashboard.

### Webhook Format

All webhooks are sent as `POST` requests with a JSON body and an `X-Delegare-Signature` header for verification.

```json Example Payload theme={null}
{
  "id": "evt_01H...",
  "type": "payment.succeeded",
  "data": {
    "transactionId": "txn_123456789",
    "amountCents": 500,
    "rail": "stripe",
    "status": "succeeded"
  },
  "created_at": "2024-03-27T10:00:00Z"
}
```

### Verifying Signatures

We strongly recommend verifying the `X-Delegare-Signature` header using your webhook signing secret (available in your dashboard) to ensure the request actually came from Delegare.
