Skip to main content

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"
}'
CampoObrigatórioDescrição
chaveSimChave Pix do parceiro Onz (ver Pix Key).
valor.originalNãoValor da transação. Se omitido, null ou 0, o pagador define o valor no pagamento.
solicitacaoPagadorNãoTexto adicional apresentado ao pagador. Aceita null. O tamanho máximo depende do tamanho da chave (veja abaixo).
txidNãoIdentificador 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"
}
CampoDescrição
chaveChave Pix utilizada na geração.
valor.originalValor formatado com duas casas decimais. 0.00 indica valor livre.
solicitacaoPagadorTexto adicional, quando informado; null se omitido.
txidIdentificador embutido no QR Code; null se omitido.
pixCopiaEColaConteú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áticoCobrança imediata
PathPOST /qrcodes/staticPOST /cob
Persiste cobrançaNãoSim
Cria locationNãoSim
QREstático (chave/valor embutidos)Dinâmico (URL de payload)
txidOpcional, máx. 25Gerado/obrigatório, 26–35
solicitacaoPagadorLimite dinâmico conforme a chaveMáx. 140

A documentação completa do endpoint está em API Reference — QR Code estático.