> ## 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 events

> What happened to a paused checkout: approved, submitted, declined, expired, or charged a different amount.

Filter: `checkout_authorization.*`. Every payload carries `mode`: `token` (the device sent the card and the processor answered), `cse` (the device encrypted it for Adyen and the browser sent it), or `hosted_form` (the device submitted Tranzila's own form). None of these events confirms a merchant order. Only the merchant does.

| Event                                                                                                                | Fires when                                                                                                             |
| -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| [`checkout_authorization.approved`](/webhooks/checkout-authorizations/checkout_authorization-approved)               | The user approved with Face ID and the processor answered (`token` and `cse` only).                                    |
| [`checkout_authorization.submitted`](/webhooks/checkout-authorizations/checkout_authorization-submitted)             | Hosted-form processors only, instead of `approved`: the user's device attested that it submitted the processor's form. |
| [`checkout_authorization.declined`](/webhooks/checkout-authorizations/checkout_authorization-declined)               | The user said no, a pre-replay check refused it, the processor refused the card, or your runtime cancelled it.         |
| [`checkout_authorization.expired`](/webhooks/checkout-authorizations/checkout_authorization-expired)                 | Nobody approved within 15 minutes.                                                                                     |
| [`checkout_authorization.amount_mismatch`](/webhooks/checkout-authorizations/checkout_authorization-amount_mismatch) | Fires after `approved` for the same authorization when the charge disagreed with the approval.                         |
