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

# transfer.failed

> Evento emitido após falha de transferência

`transfer.failed` é emitido depois que uma [Transfer](/data-modelling/billing/transfer) falha.

Handlers usam este evento para executar efeitos assíncronos fora do fluxo síncrono.

## Detalhes do Evento

| Propriedade    | Valor                   |
| -------------- | ----------------------- |
| **Tipo**       | `transfer.failed`       |
| **Origem**     | Atualização de Transfer |
| **Publicação** | Após commit da Transfer |
| **Quando**     | `status = FAILED`.      |

## Handlers

| Handler                        | Responsabilidade      | Dados usados | Execução    |
| ------------------------------ | --------------------- | ------------ | ----------- |
| `send-transfer-failed-message` | Avisa falha no saque. | `data`       | Assíncrona. |

## Payload

| Campo  | Tipo       | Descrição                   |
| ------ | ---------- | --------------------------- |
| `data` | `Transfer` | Entidade Transfer com falha |

## Regras dos handlers

* Handlers não rodam na transação que publicou a Transfer.
* Falha em handler não desfaz a Transfer.
* Cada handler deve ser idempotente.
* Novos handlers podem ser adicionados sem mudar o fluxo síncrono.

## Exemplo

```json theme={null}
{
  "type": "transfer.failed",
  "data": {
    "transferId": "0197a818-6bdc-7d65-9096-1987a5382aa1",
    "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
    "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
    "bankAccountId": "0197a817-f0e7-7c45-bcf2-5b6e967c2b2a",
    "externalProvider": "billing_interface",
    "externalProviderId": "trf_3c35a871",
    "amount": 500000,
    "status": "FAILED",
    "transferredAt": null,
    "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "createdAt": "2026-07-05T10:00:00.000Z",
    "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "updatedAt": "2026-07-05T10:05:00.000Z"
  }
}
```
