# Criando uma cobrança

## Gerando um QRCODE

<mark style="color:green;">`POST`</mark> `/api/partners/generate-qr-code`

Utilize este endpoint para gerar uma cobrança imetiada para seus clientes adquirirem serviços ou produtos na sua aplicação.

Toda vez que um `qrCode`  é gerado, é gerado também um registro de transação dentro do nosso sistema, para que possamos comparar e enviar webhooks posteriormente.

**Headers**

| Key            | Value              | Description                 |
| -------------- | ------------------ | --------------------------- |
| `Content-Type` | `application/json` |                             |
| `x-client-id`  | `string`           | `clientId`  recebido.       |
| `x-timestamp`  | `string`           | UNIX timestamp em segundos. |
| `x-signature`  | `string`           | HMAC signature.             |

**Body**

**Todos os parametros abaixo são obrigatórios.**

<table><thead><tr><th width="271">Name</th><th width="98">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>partnerTransactionId</code></td><td><code>string</code></td><td>Identificador único das suas transações.</td></tr><tr><td><code>productName</code></td><td><code>string</code></td><td>Nome do produto ou serviço.</td></tr><tr><td><code>quantity</code></td><td><code>number</code></td><td>Quantidade do produto ou serviço.</td></tr><tr><td><code>unitPrice</code></td><td><code>number</code></td><td>Preço do produto ou serviço.</td></tr><tr><td><code>userId</code></td><td><code>string</code></td><td>Deve ser o mesmo userId do seu sistema ou que tenha uma correlação única, para maior compatibilidade nas transações web3.</td></tr><tr><td><code>userCpf</code></td><td><code>string</code></td><td>CPF do usuário que irá fazer o pagamento do <code>qrCode</code></td></tr><tr><td><code>birthDate</code></td><td>string</td><td>no formato DD/MM/AAAA, para verificação do usuário.</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}
{% code overflow="wrap" %}

```json
{
    "status": true,
    "message": "Data fetched successfully",
    "data": {
        "ids": {
            "businessId": "BUSINESS",
            "partnerTransactionId": "abc12345678915",
            "internalTransactionId": "463545735988310410792181904123034233320984",
             "brCode": "00020101021226910014br.gov.bcb.pix2569qrcode.pix.celcoin.com.br/pixqrcode/v2/07f5813e5018f4660d7456eb956de95204000053039865802BR5923CNOP INTERMEDIACAO LTDA6014RIO DE JANEIRO62070503***63046DC4",
            "gatewayId": "kk6g232xel65a0daee4dd13kk2729226845"
        },
        "transactionPayload": {
            "userId": "user_001",
            "userCpf": "096.123.939-44",
            "productName": "Produto Teste 1",
            "quantity": 2,
            "unitPrice": 0.000003,
            "usdtAmount": 2.03,
            "reaisAmount": 13.23,
        },
        "transactionStatus": "WAITING_PAYMENT",
        "typeError": "NONE",
        "errorMessage": "NONE",
        "transactionType": "PIX_PURCHASE",
        "createdAt": "12/05/2025 18:57:28"
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="400" %}

```json
{
    "status": false,
    "message": {
        "quantity": [
            "Expected number, received string"
        ]
    }
}
```

{% endtab %}
{% endtabs %}

O parceiro deverá salvar na sua base de dados o `getewaiId`gerado na resposta da requisição para futuras consultas e conciliações de valores e transações.

o parâmetro `brCode` é o que chamamos de "copia e cola" e ele deverá ser usado para gerar o QRCODE para seu usuário pagador.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.criptonopix.app.br/docs/cripto-no-pix-partner-api/partners/criando-uma-cobranca.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
