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

# checkout_authorization.declined

> The user said no, a pre-replay check refused it, the processor rejected the request, or your runtime cancelled it.

The user said no, a pre-replay check refused it, the processor rejected the request, or your runtime cancelled it. `reason` is `user_declined`, `amount_mismatch` (with `expected_cents`, `actual_cents`), `intent_not_confirmable` (with `intent_status`), `processor_refused` (with `psp_error_code`), or `merchant_request_aborted`. `replay_attempted` says whether a device may already have sent the card.

Razorpay processor refusals can include `processor_error` with bounded `reason`, `source`, `step`, `payment_id`, and `order_id` identifiers. Generic codes such as `BAD_REQUEST_ERROR` do not establish issuer decline or prove that nothing was charged. Reconcile the merchant payment before another attempt. The event never includes the raw processor response or free-form description; older records may lack structured details.

```json theme={null}
{
  "id": "evt_9f8e7d6c5b4a",
  "type": "checkout_authorization.declined",
  "created": 1757264400,
  "livemode": false,
  "data": {
    "authorization_id": "cauth_2q9d1x8f3k2m4t7w",
    "user_id": "usr_8f3k2m",
    "external_user_id": "usr_8f3k2m",
    "merchant": "shop.example.com",
    "amount": "$23.06",
    "amount_cents": 2306,
    "currency": "usd",
    "amount_authority": "display_only",
    "psp": "shopify",
    "mode": "token",
    "reason": "user_declined",
    "replay_attempted": false,
    "psp_error_code": null
  }
}
```
