# 查询收款 (/zh/docs/conta-digital/endpoints/charges/get_payment)

## GET /transactions/payment/{paymentId}

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

Scope: `PAYMENT_READ`. Returns a charge with its Pix copy-and-paste code, the payer and the refunds. Accepts the charge `id` and the webhook `paymentId`.

### Path params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `paymentId` | string | yes | Charge identifier. |

### Responses

**200** Charge.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | yes | Charge identifier. The lookup accepts this `id` and the webhook `paymentId`. |
| `method` | string | yes | Payment method. — `PIX` |
| `status` | string | yes | `PENDING`: awaiting payment. `PAID`: paid. `REFUNDED`: fully refunded. `EXPIRED`: expired unpaid. — `PENDING`, `PAID`, `REFUNDED`, `EXPIRED` |
| `amount` | integer | yes | Amount charged. In cents. |
| `description` | string | null | yes | Text shown to the payer. |
| `serviceFee` | integer | yes | Receiving fee, deducted from the amount. In cents. |
| `netAmount` | integer | yes | `amount − serviceFee`: what is credited to the account. In cents. |
| `refundedAmount` | integer | yes | How much has been returned to the payer, completed refunds only. In cents. |
| `refundFee` | integer | yes | Fee charged on completed refunds. In cents. |
| `refundInProgressAmount` | integer | yes | Refund requested and still being processed. In cents. |
| `refundableAmount` | integer | yes | How much can still be refunded. `0` while the charge is unpaid, while a refund is still being processed and while a MED dispute is open. In cents. |
| `openInfractionProtocol` | string | null | yes | Protocol of the open MED dispute on the charge. `null` when there is none. |
| `externalRef` | string | null | yes | Your reference, as sent. |
| `callbackUrl` | string | null | yes | The `callbackUrl` sent on creation. `null` when none was sent. |
| `createdAt` | string | yes | Date and time in ISO 8601, UTC. — format: date-time |
| `paidAt` | string | null | yes | When it was paid. `null` until paid. — format: date-time |
| `refundedAt` | string | null | yes | When it was fully refunded. `null` until then. — format: date-time |
| `pix` | object | null | yes | Pix data of the charge. |
| `pix.qrCodeText` | string | null | yes | Pix copy-and-paste code (BR Code). The QR Code is drawn from this text. |
| `pix.qrCodeUrl` | string | null | yes | Always `null`. |
| `pix.qrCodeBase64` | string | null | yes | Always `null`. |
| `pix.conciliationId` | string | null | yes | End-to-end ID of the Pix that paid. `null` until paid. |
| `customer` | object | null | yes | Payer as informed on creation. |
| `customer.name` | string | yes | Name informed. |
| `customer.document` | string | yes | Document informed, digits only. |
| `customer.email` | string | null | yes | Email informed. |
| `customer.phone` | string | null | yes | Phone informed. |
| `payer` | object | null | yes | Who actually paid, as reported by the bank. `null` until paid. |
| `payer.name` | string | null | yes | Name of who paid. |
| `payer.document` | string | null | yes | Masked CPF (`***.982.247-**`) or formatted CNPJ. |
| `payer.bankName` | string | null | yes | Institution of who paid. |
| `refunds` | object[] | yes | Refunds of the charge, newest first. |
| `refunds.id` | string | yes | Refund identifier. It is the `refundId` in the `REFUND_COMPLETED` and `REFUND_FAILED` webhooks. |
| `refunds.status` | string | yes | `RESERVED`: the amount left the available balance. `SENT`: sent to the bank. `SETTLED`: returned to the payer. `RELEASED`: refused, with the amount back in the balance. — `RESERVED`, `SENT`, `SETTLED`, `RELEASED` |
| `refunds.amount` | integer | yes | Amount returned to the payer. In cents. |
| `refunds.serviceFee` | integer | yes | Refund fee. In cents. |
| `refunds.totalDebited` | integer | yes | `amount + serviceFee`: what leaves the account. In cents. |
| `refunds.endToEndId` | string | null | yes | End-to-end ID of the return Pix. `null` until it completes. |
| `refunds.rejectedReason` | string | null | yes | Message ready to display, set when the bank refused the refund. |
| `refunds.requestedAt` | string | yes | When the refund was requested. ISO 8601, UTC. — format: date-time |
| `refunds.settledAt` | string | null | yes | When the refund completed. `null` until it completes. — format: date-time |
| `refunds.releasedAt` | string | null | yes | When the amount returned to the balance after a refusal. `null` if there was no refusal. — format: date-time |

**401** Missing, invalid or expired credential.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |

**403** Not allowed: scope, IP or disabled operation.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |

**404** Not found, or from another account.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |