# Pix received without a charge (/en/docs/conta-digital/deposits)

<QuickLinks>
  <QuickLink href="/docs/conta-digital/endpoints/deposits/get_deposit" title="Get deposit" method="GET" path="/transactions/deposit/{depositId}" />

  <QuickLink href="/docs/conta-digital/endpoints/deposits/post_deposit_refund" title="Return deposit" method="POST" path="/transactions/deposit/{depositId}/refund" />
</QuickLinks>

When someone sends a Pix straight to one of the account's keys, without a charge, the amount comes in as a deposit and the `DEPOSIT_RECEIVED` webhook arrives. Use the `depositId` from that webhook in the routes on this page.

## Look up [#look-up]

[`GET /transactions/deposit/{depositId}`](/docs/conta-digital/endpoints/deposits/get_deposit), scope `DEPOSIT_READ`.

```json
{
  "id": "cmu4a1b2c000001s6xyz98765",
  "method": "PIX",
  "amount": 5000,
  "serviceFee": 50,
  "netAmount": 4950,
  "e2e": "E99999999202610051433a1b2c3d4e5f",
  "receiverPixKey": "b3c7e9a2-4f1d-4c8a-9e2b-7d5f6a8c1e03",
  "payer": { "name": "João Pereira", "document": "***.456.789-**", "bankIspb": "99999999", "bankName": "Banco Exemplo S.A." },
  "paidAt": "2026-10-05T16:10:02.551Z",
  "createdAt": "2026-10-05T16:10:03.120Z",
  "refundedAmount": 0,
  "refundInProgressAmount": 0,
  "refundableAmount": 5000,
  "openInfractionProtocol": null,
  "refunds": []
}
```

* `amount` is what the payer sent. `netAmount` is what came into the account, already without the fee (`serviceFee`).
* `e2e` is the Pix end-to-end ID. `receiverPixKey` is the key on your account that received it.
* `payer` is who paid, as reported by the bank, with the CPF masked or the CNPJ formatted.

The receipt comes from [`GET /transactions/deposit/{depositId}/receipt`](/docs/conta-digital/endpoints/deposits/get_deposit_receipt), as a base64-encoded PDF.

## Return to the payer [#return-to-the-payer]

[`POST /transactions/deposit/{depositId}/refund`](/docs/conta-digital/endpoints/deposits/post_deposit_refund), scope `REFUND`. The money goes back to whoever sent the Pix. Send `amount` to return part of it; without `amount`, it returns everything that still remains.

```json
{ "amount": 5000 }
```

* The refund fee is charged separately, on top of the amount returned. It appears in `refund`, in the [limits](/docs/conta-digital/statement#limits).
* One return at a time per deposit. While one is still being processed, the next one is refused with `REFUND_IN_FLIGHT`.
* With a MED dispute open on the deposit, the return is refused with `REFUND_INFRACTION_OPEN`.
* Without enough balance, the return is refused. The API never returns less than requested.
* The `200` response carries the deposit with the return in `refunds`. The result arrives through the `REFUND_COMPLETED` or `REFUND_FAILED` webhooks, with `depositId` instead of `paymentId`. Until then, the amount appears in `refundInProgressAmount`; what was already returned is in `refundedAmount`.
* The route does not accept `Idempotency-Key`. On a `502`, the return may have gone out: get the deposit before requesting it again.

All rejections are in [Return deposit](/docs/conta-digital/endpoints/deposits/post_deposit_refund).

## Return of a sent Pix [#return-of-a-sent-pix]

When the recipient of a withdrawal returns the amount, the credit comes in as a deposit and can be looked up by `depositId`. Most of the time the `WITHDRAW_REFUND_RECEIVED` webhook arrives, with the withdrawal's `withdrawId`, with no fee and with a `PAYOUT_REFUND_RECEIVED` line in the statement. Sometimes the return arrives as a regular Pix: `DEPOSIT_RECEIVED` webhook, with a fee and a `DEPOSIT` line. Handle both cases.