# Consultar extrato (/docs/conta-digital/endpoints/account/get_statement)

## GET /transactions/statement

`GET https://api.hub.payzu.com.br/api/v1/transactions/statement`

Escopo: `STATEMENT_READ`. Devolve os lançamentos que mexeram no saldo disponível, paginados por cursor. Cada linha é um lançamento, não uma operação: a cobrança paga entra já sem a tarifa, e o saque sai na hora do pedido, por `amount + serviceFee`. Os filtros valem juntos.

### Query params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `limit` | integer | no | Itens por página, de 1 a 100. — minimum: 1; maximum: 100; default: 20 |
| `cursor` | string | no | `nextCursor` da página anterior. |
| `dateFrom` | string | no | Início do período, pela data de criação. ISO 8601 ou `AAAA-MM-DD`; data sem hora vale o dia inteiro no horário de Brasília. |
| `dateTo` | string | no | Fim do período, pela data de criação. ISO 8601 ou `AAAA-MM-DD`; data sem hora vale o dia inteiro no horário de Brasília. |
| `trigger` | string | no | Um ou mais tipos de linha, separados por vírgula: `PAYMENT`, `DEPOSIT`, `PAYMENT_REFUND`, `PAYOUT`, `PAYOUT_REVERSAL`, `PAYOUT_REFUND_RECEIVED`, `INFRACTION_BLOCK`, `INFRACTION_SETTLED`, `INFRACTION_RELEASED`, `INTERNAL_TRANSFER`. |
| `originId` | string | no | Identificador da cobrança, do saque, do depósito ou da transferência como vem nos webhooks. — minLength: 1 |
| `amount` | integer | no | Valor em centavos, sem sinal. Encontra entradas e saídas desse valor e também operações com esse valor bruto. |
| `e2e` | string | no | End-to-end do Pix. — minLength: 1 |
| `document` | string | no | Documento de quem pagou; pontuação é ignorada. Nas saídas, busca na chave de destino. — minLength: 1 |
| `name` | string | no | A partir de 2 caracteres, sem diferenciar maiúsculas. Nome de quem pagou nas entradas, chave nas saídas. — minLength: 2 |
| `status` | string | no | Estado da operação de origem, não o `status` da linha. `PENDING`: cobrança aguardando pagamento ou saque ainda sendo processado. `COMPLETED`: cobrança paga, saque pago ou Pix recebido. `CANCELED`: cobrança vencida ou saque recusado. `REFUNDED`: cobrança com estorno concluído. `WAITING_FOR_REFUND`: cobrança com estorno ainda sendo processado. Traz as linhas dessas operações; linhas de transferência e de contestação ficam de fora. — `PENDING`, `COMPLETED`, `CANCELED`, `REFUNDED`, `WAITING_FOR_REFUND` |
| `sortBy` | string | no | Campo de ordenação. — `postedAt`, `createdAt`; default: createdAt |
| `sortDirection` | string | no | Direção da ordenação. — `asc`, `desc`; default: desc |

### Responses

**200** Página do extrato.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `data` | object[] | yes | Linhas do extrato. |
| `data.id` | string | yes | Identificador da linha. É o valor usado como cursor. |
| `data.entryId` | string | yes | Lançamento. Linhas com o mesmo `entryId` vieram do mesmo evento. |
| `data.amount` | integer | yes | Valor com sinal: positivo entrou, negativo saiu. Em centavos. |
| `data.balanceAfter` | integer | yes | Saldo disponível depois da linha. Em centavos. |
| `data.trigger` | string | yes | O que produziu a linha. `PAYMENT`: cobrança paga. `DEPOSIT`: Pix recebido sem cobrança. `PAYMENT_REFUND`: estorno. `PAYOUT`: saída de saque ou pagamento de Pix copia e cola, na hora do pedido. `PAYOUT_REVERSAL`: valor de volta ao saldo após falha. `PAYOUT_REFUND_RECEIVED`: devolução de um Pix enviado. `INFRACTION_BLOCK`: contestação aberta. `INFRACTION_SETTLED`: contestação procedente. `INFRACTION_RELEASED`: contestação improcedente ou cancelada. `INTERNAL_TRANSFER`: transferência entre contas. — `PAYMENT`, `PAYMENT_REFUND`, `DEPOSIT`, `PAYOUT`, `PAYOUT_REVERSAL`, `INFRACTION_BLOCK`, `INFRACTION_SETTLED`, `INFRACTION_RELEASED`, `INTERNAL_TRANSFER`, `PAYOUT_REFUND_RECEIVED` |
| `data.description` | string | null | yes | Rótulo curto, gravado com o lançamento. Não muda depois; o estado atual está em `status`. |
| `data.originId` | string | yes | Identificador da operação (cobrança, saque, depósito ou transferência) como vem nos webhooks; não é o `id` da cobrança, do saque ou da transferência. Nas linhas de MED, o da contestação. |
| `data.infractionProtocol` | string | null | yes | Protocolo da contestação, nas linhas de MED. |
| `data.gross` | integer | null | yes | Valor cheio da operação. No recebimento, o que o pagador pagou; no saque, o que chegou ao destino. Em centavos. |
| `data.fee` | integer | null | yes | Tarifa da operação. Em centavos. |
| `data.status` | string | null | yes | Estado atual da operação da linha, em saque, estorno e transferência: `PROCESSING`, `SETTLED` ou `RETURNED`. `null` nas demais. — `PROCESSING`, `SETTLED`, `RETURNED` |
| `data.statusDetail` | string | null | yes | `APPROVAL_REFUSED`: o banco não aprovou o saque, e o valor continua fora do saldo disponível. `PROVIDER_REFUND`: o banco devolveu ao pagador sem pedido seu. — `APPROVAL_REFUSED`, `PROVIDER_REFUND` |
| `data.statusReason` | string | null | yes | Mensagem pronta para exibir, em `APPROVAL_REFUSED`. |
| `data.statusAt` | string | null | yes | Quando a operação concluiu ou voltou. — format: date-time |
| `data.payoutOperation` | string | null | yes | Nas linhas de saque: `WITHDRAW` (saque para chave) ou `EXTERNAL_PAYMENT` (pagamento de Pix copia e cola). — `WITHDRAW`, `EXTERNAL_PAYMENT` |
| `data.counterparty` | object | null | yes | Com quem foi a operação. `null` nas linhas de contestação. |
| `data.counterparty.name` | string | null | yes | Nas entradas, nome de quem pagou; numa cobrança, o cliente informado. `null` nas saídas por Pix. |
| `data.counterparty.document` | string | null | yes | Documento dessa pessoa. Numa cobrança, inteiro; num Pix avulso, mascarado. |
| `data.counterparty.pixKey` | string | null | yes | Nas saídas, chave de destino mascarada. Na transferência entre contas, a chave da outra conta. |
| `data.postedAt` | string | yes | Quando o dinheiro se moveu. — format: date-time |
| `nextCursor` | string | no | Cursor da próxima página. Ausente na última página. |
| `balance` | integer | yes | Saldo disponível agora, igual a `available` do saldo. Em centavos. |

**400** Requisição inválida.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**401** Credencial ausente, inválida ou expirada.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**403** Sem permissão: escopo, IP ou operação desabilitada.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |