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