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

# PIX Charge

> Structure and attributes of a PIX charge in the Bob Payments API

## Structure

A PIX charge is represented by the following structure:

```json theme={"system"}
{
  "id": "clx7a8b9c0d1e2f3g4h5",
  "externalId": "pedido_123",
  "amountCents": 10000,
  "product": "Plano Premium",
  "status": "waiting_payment",
  "pixCode": "00020126580014br.gov.bcb.pix...",
  "expirationDate": "2026-02-28T10:00:00.000Z",
  "customerEmail": "joao@email.com",
  "customerName": "João Silva",
  "customer": {
    "name": "João Silva",
    "email": "joao@email.com",
    "document": "12345678900"
  },
  "createdAt": "2026-02-28T09:00:00.000Z",
  "updatedAt": "2026-02-28T09:00:00.000Z"
}
```

## Attributes

<ResponseField name="id" type="string">
  Unique identifier of the charge in CUID format.
</ResponseField>

<ResponseField name="externalId" type="string">
  Identifier of the charge in your system. Use it to reconcile data without storing the internal `id`. Must be unique per project.
</ResponseField>

<ResponseField name="amountCents" type="integer">
  Charge amount in cents. Example: `10000` = R\$ 100.00.
</ResponseField>

<ResponseField name="product" type="string">
  Name or description of the product/service being charged. Appears in the PIX notification shown to the payer.
</ResponseField>

<ResponseField name="status" type="string">
  Current status of the charge.

  <Note>
    | Status            | Description                                 |
    | ----------------- | ------------------------------------------- |
    | `waiting_payment` | **Awaiting payment from the customer**      |
    | `processing`      | **Payment received, awaiting confirmation** |
    | `paid`            | **Payment confirmed**                       |
    | `expired`         | **The payment time limit was exceeded**     |
    | `cancelled`       | **The charge was cancelled**                |
    | `refunded`        | **The amount was refunded to the customer** |
  </Note>
</ResponseField>

<ResponseField name="pixCode" type="string">
  PIX copy-and-paste code (Pix Payload Format Object). Available only when `status` is `waiting_payment`.
</ResponseField>

<ResponseField name="expirationDate" type="date-time">
  Date and time when the charge expires. After this moment, the status changes to `expired`.
</ResponseField>

<ResponseField name="customerEmail" type="string | null">
  Buyer's email. A direct shortcut to the `customer.email` field, available at the root level of the transaction.
</ResponseField>

<ResponseField name="customerName" type="string | null">
  Buyer's name. A direct shortcut to the `customer.name` field, available at the root level of the transaction.
</ResponseField>

<ResponseField name="customer" type="object">
  Data of the buyer linked to the charge. See the [Customer entity](/en/pages/customers/reference).
</ResponseField>

<ResponseField name="createdAt" type="date-time">
  Date and time when the charge was created.
</ResponseField>

<ResponseField name="updatedAt" type="date-time">
  Date and time of the last update.
</ResponseField>

## Next steps

<CardGroup cols={2}>
  <Card title="Create charge" icon="code" href="/en/pages/pix/create">
    Generate a PIX with an amount, product, and buyer data.
  </Card>

  <Card title="Check status" icon="magnifying-glass" href="/en/pages/pix/check-status">
    Check the current state of a charge.
  </Card>
</CardGroup>
