# Consultar cobrança (/docs/conta-digital/endpoints/charges/get_payment)

## GET /transactions/payment/{paymentId}

`GET https://api.hub.payzu.com.br/api/v1/transactions/payment/{paymentId}`

Escopo: `PAYMENT_READ`. Devolve uma cobrança com o Pix copia e cola, o pagador e os estornos. Aceita o `id` da cobrança e o `paymentId` dos webhooks.

### Path params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `paymentId` | string | yes | Identificador da cobrança. |

### Responses

**200** Cobrança.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | yes | Identificador da cobrança. A consulta aceita este `id` e o `paymentId` dos webhooks. |
| `method` | string | yes | Meio de pagamento. — `PIX` |
| `status` | string | yes | `PENDING`: aguardando pagamento. `PAID`: paga. `REFUNDED`: estornada por inteiro. `EXPIRED`: venceu sem pagamento. — `PENDING`, `PAID`, `REFUNDED`, `EXPIRED` |
| `amount` | integer | yes | Valor cobrado. Em centavos. |
| `description` | string | null | yes | Texto exibido para quem paga. |
| `serviceFee` | integer | yes | Tarifa do recebimento, descontada do valor. Em centavos. |
| `netAmount` | integer | yes | `amount − serviceFee`: o que é creditado na conta. Em centavos. |
| `refundedAmount` | integer | yes | Quanto já voltou ao pagador, só estornos concluídos. Em centavos. |
| `refundFee` | integer | yes | Tarifa cobrada nos estornos concluídos. Em centavos. |
| `refundInProgressAmount` | integer | yes | Estorno pedido e ainda sendo processado. Em centavos. |
| `refundableAmount` | integer | yes | Quanto ainda pode ser estornado. `0` enquanto a cobrança não foi paga, enquanto um estorno ainda está sendo processado e enquanto há contestação MED aberta. Em centavos. |
| `openInfractionProtocol` | string | null | yes | Protocolo da contestação MED aberta sobre a cobrança. `null` quando não há. |
| `externalRef` | string | null | yes | Sua referência, como enviada. |
| `callbackUrl` | string | null | yes | A `callbackUrl` enviada na criação. `null` quando não foi enviada. |
| `createdAt` | string | yes | Data e hora em ISO 8601, UTC. — format: date-time |
| `paidAt` | string | null | yes | Quando foi paga. `null` até pagar. — format: date-time |
| `refundedAt` | string | null | yes | Quando foi estornada por inteiro. `null` até lá. — format: date-time |
| `pix` | object | null | yes | Dados do Pix da cobrança. |
| `pix.qrCodeText` | string | null | yes | Pix copia e cola (BR Code). O QR Code é desenhado a partir deste texto. |
| `pix.qrCodeUrl` | string | null | yes | Sempre `null`. |
| `pix.qrCodeBase64` | string | null | yes | Sempre `null`. |
| `pix.conciliationId` | string | null | yes | End-to-end do Pix que pagou. `null` até pagar. |
| `customer` | object | null | yes | Pagador como informado na criação. |
| `customer.name` | string | yes | Nome informado. |
| `customer.document` | string | yes | Documento informado, só dígitos. |
| `customer.email` | string | null | yes | E-mail informado. |
| `customer.phone` | string | null | yes | Telefone informado. |
| `payer` | object | null | yes | Quem de fato pagou, como o banco informou. `null` até pagar. |
| `payer.name` | string | null | yes | Nome de quem pagou. |
| `payer.document` | string | null | yes | CPF mascarado (`***.982.247-**`) ou CNPJ formatado. |
| `payer.bankName` | string | null | yes | Instituição de quem pagou. |
| `refunds` | object[] | yes | Estornos da cobrança, do mais recente para o mais antigo. |
| `refunds.id` | string | yes | Identificador do estorno. É o `refundId` dos webhooks `REFUND_COMPLETED` e `REFUND_FAILED`. |
| `refunds.status` | string | yes | `RESERVED`: o valor saiu do saldo disponível. `SENT`: enviado ao banco. `SETTLED`: devolvido ao pagador. `RELEASED`: recusado, com o valor de volta ao saldo. — `RESERVED`, `SENT`, `SETTLED`, `RELEASED` |
| `refunds.amount` | integer | yes | Valor devolvido ao pagador. Em centavos. |
| `refunds.serviceFee` | integer | yes | Tarifa do estorno. Em centavos. |
| `refunds.totalDebited` | integer | yes | `amount + serviceFee`: o que sai da conta. Em centavos. |
| `refunds.endToEndId` | string | null | yes | End-to-end do Pix de devolução. `null` até concluir. |
| `refunds.rejectedReason` | string | null | yes | Mensagem pronta para exibir, preenchida quando o banco recusou o estorno. |
| `refunds.requestedAt` | string | yes | Quando o estorno foi pedido. ISO 8601, UTC. — format: date-time |
| `refunds.settledAt` | string | null | yes | Quando o estorno foi concluído. `null` até concluir. — format: date-time |
| `refunds.releasedAt` | string | null | yes | Quando o valor voltou ao saldo, após recusa. `null` se não houve recusa. — format: date-time |

**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. |

**404** Não encontrado, ou de outra conta.

| 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. |