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

# checkout.terminally_failed

> Webhook event triggered when a checkout session fails due to kyc, geo or fraud.

## Payload Structure

```typescript theme={null}
interface WebhookEvent {
  event_id: string;
  type: string; // "checkout.terminally_failed"
  data: {
    id: string; // id of the checkout you originally created
    type: "deposit" | "withdrawal";
    customer: {
      id: string;
    };
    terminally_failed_at: string;
  }
}
```

## Example Payload

```json theme={null}
{
  "event_id": "ev_tDaWu5aTVa2kbvDjGe55rxZpaMEmVFWB",
  "type": "checkout.terminally_failed",
  "data": {
    "id": "chk_9K1sgX9tUa5Lx5AgpK32xJgXDenrBbsk",
    "type": "deposit",
    "customer": {
      "id": "cus_LSAPLYCWD9uohSMm2pxRPB7xW3V4esMA"
    },
    "terminally_failed_at": "2025-05-30 06:05:22 UTC"
  }
}
```

The `terminally_failed_at` timestamp indicates when the checkout session failed terminally, and the `type` field specifies whether it was a deposit or withdrawal attempt. Unlike temporary`checkout.failed` events, terminal failures indicate that the session can no longer be continued.
