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

# payment.failed

> The payment failed. Payload reference and example for the payment.failed webhook event.

`failed` is populated. In this example the payment failed before the buyer committed, so `processing` is `null`.

| `data.status` | Stage objects populated                                                                                                                                     | Stage objects always `null`                  |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| `failed`      | [`failed`](/payments/webhook-event-reference#failed) ([`processing`](/payments/webhook-event-reference#processing) when the payment had started processing) | `success`, `cancelled`, `expired`, `settled` |

Every field is documented in the [event overview](/payments/webhook-event-reference).

```json theme={null}
{
  "id": "evt_fixture_payment_failed",
  "type": "payment.failed",
  "api_version": "2026-05-18",
  "created_at": "2026-06-30T10:00:00.271Z",
  "data": {
    "payment_id": "pay_fixture_01HZX4V9K3T",
    "merchant_id": "merchant_fixture_01HZX4V9K3T",
    "live": true,
    "payment_state_version": 1,
    "reference_id": "order_fixture_1042",
    "status": "failed",
    "amount": {
      "unit": "iso4217/USD",
      "value": "1000"
    },
    "created_at": "2026-06-30T09:59:00.084Z",
    "expires_at": "2026-06-30T10:14:00.000Z",
    "processing": null,
    "success": null,
    "failed": {
      "failed_at": "2026-06-30T10:00:00.271Z",
      "failure_reason": "insufficient allowance"
    },
    "cancelled": null,
    "expired": null,
    "settled": null
  }
}
```
