QR Estático PIX (Valor Livre)

Crie QR Codes PIX permanentes com valor livre — o pagador escolhe quanto paga. Ideal para recargas, doações, vendas presenciais e identificação de clientes.
Resumo Rápido

Diferente do QR dinâmico (1 QR = 1 cobrança com valor fixo), o QR estático é 1 QR → N pagamentos com valor livre. Pode ser impresso ou divulgado sem invalidar. Cada pagamento cai na sua conta e o extrato identifica quem depositou.

1. QR Principal (1 por conta)

Obtém (ou cria) o QR permanente da sua conta. É idempotente — chamadas seguintes retornam o MESMO QR, sem gerar um novo.

Endpoint
GET /api/v1/account/static-qrcode
Exemplo com cURL
curl -X GET "https://ajnapay.com.br/api/v1/account/static-qrcode" \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Accept: application/json"

2. Criar QR com Identificação (N QRs) ⭐

Crie múltiplos QRs — um por cliente final seu — com identificação (nome, documento, referência). Todo pagamento cai na sua conta e o extrato mostra quem depositou.

Endpoint
POST /api/v1/account/static-qrcodes
Request Body
{
  "nome": "Cliente A",
  "taxId": "123.456.789-00",
  "externalId": "EXT-1234",
  "descricao": "Loja X"
}

Parâmetros (todos opcionais)

Parâmetro Tipo Obrigatório Descrição
nome string (max 120) Não Identificação do cliente final (aparece no extrato)
taxId string (max 20) Não Documento (CPF/CNPJ) — compliance
externalId string (max 100) Não Referência do SEU sistema — idempotência
descricao string (max 255) Não Descrição livre
Exemplo com cURL
curl -X POST "https://ajnapay.com.br/api/v1/account/static-qrcodes" \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "nome": "Cliente A",
    "taxId": "123.456.789-00",
    "externalId": "EXT-1234",
    "descricao": "Loja X"
  }'

3. Resposta

Response 200 OK
{
  "success": true,
  "data": {
    "deposit_id": "uuid-do-deposito",
    "type": "pix_qrcode_static",
    "status": "pending",
    "emv_payload": "00020101021226930014br.gov.bcb.pix257...",
    "image_base64": "afdfds2134sfsadf3124dfs",
    "qrcode_image_url": "https://api.qrserver.com/v1/create-qr-code/?size=350x350&data=...",
    "pix_txid": "TXIDUNICO123456789ABCDE",
    "static_qr_info": {
      "nome": "Cliente A",
      "taxId": "123.456.789-00",
      "externalId": "EXT-1234",
      "descricao": "Loja X"
    },
    "created_at": "2026-09-05T12:00:00.000Z"
  }
}

4. Listar e Remover QRs

Listar QRs da conta
GET /api/v1/account/static-qrcodes
Remover QR (soft delete)
DELETE /api/v1/account/static-qrcodes/{depositId}

O QR principal da conta não pode ser removido. Pagamentos já recebidos permanecem intactos.

5. Regras Importantes

Regra Detalhe
Valor livre O pagador escolhe quanto paga — sem valor fixo
Idempotência Mesmo externalId → devolve o QR existente (sem duplicar)
Limite 50 QRs ativos por conta
Soft delete Remoção preserva pagamentos já recebidos (compliance)
QR principal 1 por conta, protegido (só remove no encerramento)
Splits Todos os QRs herdam o split config da conta

6. Identificação no Extrato

Quando um cliente final paga no QR, o extrato mostra quem depositou:

Transação no extrato
{
  "descricao": "Recarga via QR estático (Cliente A)",
  "categoria": "pix_recebido",
  "static_qr_info": {
    "nome": "Cliente A",
    "taxId": "123.456.789-00",
    "externalId": "EXT-1234"
  }
}
Erros Comuns
  • 403 — Token sem permission (static-qrcodes-*)
  • 422 — Limite de 50 QRs atingido ou dados inválidos
  • 501 — Gateway não suporta QR estático (v1: apenas Transfeera)