QR Code estático
O QR Code Pix estático embute a chave Pix (e, opcionalmente, o valor) diretamente no BR Code. Diferente da cobrança imediata, não cria location nem persiste cobrança — o endpoint apenas gera e retorna o Pix Copia e Cola.
Endpoint: POST /qrcodes/static
Escopo OAuth: cob.write
Caso de uso
Ideal para cenários em que o mesmo QR Code pode ser reutilizado (ex.: placa em loja física, material impresso) ou quando o pagador deve informar o valor no momento do pagamento.
Requisição
curl --location 'https://pix.onz.finance/qrcodes/static' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJh...' \
--data '{
"chave": "b8xxxd2a-b353-4475-af38-d94exxxx5e2f",
"valor": {
"original": 10.50
},
"solicitacaoPagador": "Pagamento de serviço",
"txid": "pedido123"
}'
| Campo | Obrigatório | Descrição |
|---|---|---|
| chave | Sim | Chave Pix do parceiro Onz (ver Pix Key). |
| valor.original | Não | Valor da transação. Se omitido, null ou 0, o pagador define o valor no pagamento. |
| solicitacaoPagador | Não | Texto adicional apresentado ao pagador. Aceita null. O tamanho máximo depende do tamanho da chave (veja abaixo). |
| txid | Não | Identificador embutido no QR Code (máximo 25 caracteres alfanuméricos). Aceita null/omitido; nesse caso permanece indefinido (sem valor default). |
Limite dinâmico de solicitacaoPagador
No QR Code estático, chave e solicitacaoPagador compartilham o espaço do campo Merchant Account Information do BR Code. A API valida dinamicamente:
tamanho(chave) + tamanho(solicitacaoPagador) <= 73
Se a combinação exceder esse limite, a API retorna 400 Bad Request.
Resposta
{
"chave": "b8xxxd2a-b353-4475-af38-d94exxxx5e2f",
"valor": {
"original": "10.50"
},
"solicitacaoPagador": "Pagamento de serviço",
"txid": "pedido123",
"pixCopiaECola": "00020126580014br.gov.bcb.pix0136b8xxxd2a-b353-4475-af38-d94exxxx5e2f520400005303986540510.505802BR5913Fulano de Tal6008BRASILIA62130509pedido1236304CFA6"
}
| Campo | Descrição |
|---|---|
| chave | Chave Pix utilizada na geração. |
| valor.original | Valor formatado com duas casas decimais. 0.00 indica valor livre. |
| solicitacaoPagador | Texto adicional, quando informado; null se omitido. |
| txid | Identificador embutido no QR Code; null se omitido. |
| pixCopiaECola | Conteúdo do BR Code estático (ver Pix Copia e Cola). |
Valor livre
Para gerar um QR Code em que o pagador informa o valor, omita valor ou envie valor.original igual a 0:
curl --location 'https://pix.onz.finance/qrcodes/static' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJh...' \
--data '{
"chave": "b8xxxd2a-b353-4475-af38-d94exxxx5e2f"
}'
Exemplo de resposta com valor livre:
{
"chave": "b8xxxd2a-b353-4475-af38-d94exxxx5e2f",
"valor": {
"original": "0.00"
},
"solicitacaoPagador": null,
"txid": null,
"pixCopiaECola": "00020126..."
}
Diferenças em relação à cobrança imediata (/cob)
| QR Code estático | Cobrança imediata | |
|---|---|---|
| Path | POST /qrcodes/static | POST /cob |
| Persiste cobrança | Não | Sim |
| Cria location | Não | Sim |
| QR | Estático (chave/valor embutidos) | Dinâmico (URL de payload) |
txid | Opcional, máx. 25 | Gerado/obrigatório, 26–35 |
solicitacaoPagador | Limite dinâmico conforme a chave | Máx. 140 |
A documentação completa do endpoint está em API Reference — QR Code estático.