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

# Payout events

> The payout.api.transaction.status_changed event for payout transactions

## `payout.api.transaction.status_changed`

Fired when a payout transaction changes to a status that is visible externally.

<Note>
  This event uses `snake_case` field names, unlike the other events, to match the Payouts API transaction status response. `data` has exactly the same shape as that response.
</Note>

### Fields

| Field | Type | Description |
| - | - | - |
| `transaction_reference_id` | string \| null | Pazy's reference for the transaction |
| `bank_reference_number` | string \| null | The bank's reference number |
| `state` | string | The transaction state. See below |
| `amount` | string | The transaction amount |
| `currency` | string | ISO 4217 code |
| `method` | string | `IMPS`, `NEFT` or `RTGS` |
| `source` | string | The source instrument the money was paid from |
| `client_reference` | string \| null | The reference you supplied when creating the payout |
| `error` | object \| null | `{ code, numeric_code, reason }` when the transaction failed. `numeric_code` can be `null` |
| `metadata` | object \| null | Open-ended extra details |
| `created_at` | string (ISO 8601) | When the transaction was created |
| `updated_at` | string (ISO 8601) \| null | When it last changed |
| `request_id` | string | The id of the request that created the transaction |

### `state`

| Value | Meaning |
| - | - |
| `INITIATED` | The transaction was created |
| `CONFIRMATION_PENDING` | Waiting for confirmation |
| `APPROVED_ON_BANKING_PORTAL` | Approved on the banking portal |
| `REJECTED_ON_BANKING_PORTAL` | Rejected on the banking portal |
| `SUCCESS` | The transfer succeeded |
| `SETTLED` | The transfer settled |
| `FAILED` | The transfer failed. See `error` |
| `REVERSED` | The transfer was reversed |
| `CANCELLED` | The transaction was cancelled |

Handle states you don't recognize gracefully. New states can be added.

### Example

```json theme={null}
{
  "id": "018f1a2b-3c4d-7e8f-9a0b-1c2d3e4f5a6e",
  "type": "payout.api.transaction.status_changed",
  "version": "1",
  "createdAt": "2026-05-05T10:30:45.000Z",
  "data": {
    "transaction_reference_id": "PAZY20260505ABCD1234",
    "bank_reference_number": "309113602419",
    "state": "SUCCESS",
    "amount": "5000.00",
    "currency": "INR",
    "method": "IMPS",
    "source": "inst_01HE7K3MXXX",
    "client_reference": "payroll_may_emp_001",
    "error": null,
    "metadata": null,
    "created_at": "2026-05-05T10:30:00.000Z",
    "updated_at": "2026-05-05T10:30:45.000Z",
    "request_id": "3f2504e0-4f89-11d3-9a0c-0305e82c3301"
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.