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

# Evento charge.dispute.funds.reinstated

> Evento charge.dispute.funds.reinstated.

## Evento `charge.dispute.funds.reinstated`

Disparado quando o dinheiro de uma disputa ganha volta ao seu extrato. O valor
que a disputa tirou volta inteiro, tarifa de recebimento de contestação
incluída, num movimento `adjustment` positivo com `source` na disputa e
`description: "Dispute reversal"`.

A devolução nasce `pending`, com `available_at` na data em que o dinheiro volta
a ficar disponível, e passa a `paid` quando entra no saldo. Este evento chega
uma vez por disputa, quando a devolução entra no extrato — normalmente junto com
o `charge.dispute.closed` da vitória, sem ordem garantida entre os dois. Uma
decisão favorável que chega depois de `lost` também dispara este evento.

`data.object` usa o mesmo shape de
[`GET /v1/disputes/:id`](https://docs.chargefy.io/api-reference/disputes/get), com o movimento em
`transactions`.

## Quando acontece

| Situação | Como aparece no payload |
| - | - |
| Disputa ganha | `data.object.status: "won"` e dois movimentos em `transactions`. |
| Devolução aguardando o crédito | O último movimento com `status: "pending"` e `available_at` preenchido. |
| Valor que voltou | O último movimento com `net_amount` positivo, igual ao que saiu, sem `fee_details`. |

## Como processar

* Registre o `id` do evento (`evt_*`) para processar o webhook de forma idempotente.
* Use o `id` (`txn_*`) do último item de `transactions` para lançar a devolução uma única vez.
* Para saber quando o dinheiro fica disponível, acompanhe o movimento pelo evento `transaction.paid` ou consulte [Transações](https://docs.chargefy.io/api-reference/transactions/get.md).

## Campos importantes

| Campo | O que observar |
| - | - |
| `transactions[1].net_amount` | Quanto voltou, em centavos, positivo. |
| `transactions[1].status` | `pending` até o dinheiro entrar no saldo; depois `paid`. |
| `transactions[1].available_at` | Data em que o dinheiro volta a ficar disponível. |
| `closed_at` | Momento em que a disputa foi ganha. |

## Exemplo de payload

```json theme={"theme":"css-variables"}
{
  "id": "evt_Rs3nV8bKq5YhJw2C",
  "object": "event",
  "created_at": "2026-05-22T18:30:00Z",
  "data": {
    "object": {
      "id": "dp_7QPYgr51yNhNTbyv",
      "object": "dispute",
      "amount": 15000,
      "charge": "ch_cgHAnW5CKA1P81G8",
      "closed_at": "2026-05-22T18:30:00Z",
      "created_at": "2026-05-22T03:00:00Z",
      "currency": "brl",
      "customer": "cus_RkWE27LYVzf8afo9",
      "evidence": {
        "access_activity_log": null,
        "billing_address": null,
        "cancellation_policy": null,
        "cancellation_policy_disclosure": null,
        "cancellation_rebuttal": null,
        "customer_communication": null,
        "customer_email_address": "nome@email.com",
        "customer_name": "Comprador",
        "customer_purchase_ip": "187.34.12.90",
        "customer_signature": null,
        "duplicate_charge_documentation": null,
        "duplicate_charge_explanation": null,
        "duplicate_charge_id": null,
        "product_description": "Assinatura mensal do plano Pro, com acesso imediato",
        "receipt": "file_8AMwJEm4TrH1mj8T",
        "refund_policy": null,
        "refund_policy_disclosure": null,
        "refund_refusal_explanation": null,
        "service_date": null,
        "service_documentation": null,
        "shipping_address": null,
        "shipping_carrier": null,
        "shipping_date": null,
        "shipping_documentation": null,
        "shipping_tracking_number": null,
        "uncategorized_file": null,
        "uncategorized_text": null
      },
      "evidence_details": {
        "due_by": "2026-05-28T03:00:00Z",
        "has_evidence": true,
        "past_due": false,
        "submission_count": 1
      },
      "is_charge_refundable": true,
      "livemode": true,
      "metadata": {},
      "payment_intent": "pi_aj6A8EuFqUJFCk5U",
      "reason": "fraudulent",
      "status": "won",
      "transactions": [
        {
          "id": "txn_Qm3vR8kZp2LwN7cT",
          "object": "transaction",
          "affiliate_fee_rate": null,
          "affiliation": null,
          "amount": -14415,
          "available_at": "2026-05-22T03:00:00Z",
          "created_at": "2026-05-22T03:00:00Z",
          "currency": "brl",
          "description": "Dispute",
          "expected_payout_at": null,
          "fee_amount": 256,
          "fee_details": [
            {
              "affiliation": null,
              "amount": 256,
              "description": "Dispute received fee",
              "type": "dispute_received_fee"
            }
          ],
          "installment": null,
          "installment_count": null,
          "livemode": true,
          "metadata": {},
          "net_amount": -14671,
          "payment_intent": "pi_aj6A8EuFqUJFCk5U",
          "settled_at": "2026-05-22T03:00:00Z",
          "source": "dp_7QPYgr51yNhNTbyv",
          "source_organization": "org_Nt99XL6FzLb1oCxT",
          "status": "paid",
          "type": "adjustment",
          "updated_at": "2026-05-22T03:00:00Z"
        },
        {
          "id": "txn_Hb4sW9yJd6KeX2fP",
          "object": "transaction",
          "affiliate_fee_rate": null,
          "affiliation": null,
          "amount": 14671,
          "available_at": "2026-05-23T03:00:00Z",
          "created_at": "2026-05-22T18:30:00Z",
          "currency": "brl",
          "description": "Dispute reversal",
          "expected_payout_at": null,
          "fee_amount": 0,
          "fee_details": [],
          "installment": null,
          "installment_count": null,
          "livemode": true,
          "metadata": {},
          "net_amount": 14671,
          "payment_intent": "pi_aj6A8EuFqUJFCk5U",
          "settled_at": null,
          "source": "dp_7QPYgr51yNhNTbyv",
          "source_organization": "org_Nt99XL6FzLb1oCxT",
          "status": "pending",
          "type": "adjustment",
          "updated_at": "2026-05-22T18:30:00Z"
        }
      ],
      "updated_at": "2026-05-22T18:30:00Z"
    }
  },
  "livemode": true,
  "organization": "org_Nt99XL6FzLb1oCxT",
  "request": {
    "id": null
  },
  "type": "charge.dispute.funds.reinstated"
}
```


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