Consultando um QRCode
A consulta de um QRCode na API do Pagou permite obter os detalhes de um QRCode Pix (com ou sem vencimento), incluindo seu status, valor, pagador e código Pix.
Visão Geral Técnica
O endpoint GET
/v1/pix/{id}
retorna os detalhes de um QRCode identificado por seu ID único no formato UUID (ex.: 550e8400-e29b-41d4-a716-446655440000). A operação é síncrona, retornando 200 OK
com um corpo JSON contendo informações como status, valor, pagador, código Pix e imagem em base64. Este endpoint é útil para verificar o estado de um pagamento Pix (ex.: pago ou expirado) ou recuperar o código Pix para exibição.
Especificações:
Método: GET
URL:
Produção: https://api.pagou.com.br/v1/pix/{qrcodeID}
Sandbox: https://sandbox.api.pagou.com.br/v1/pix/{qrcodeID}
Autenticação: Cabeçalho X-API-KEY com chave do painel.
Content-Type: application/json
Resposta: Status 200 OK com corpo JSON contendo os detalhes do QRCode.
Erros: 400 Bad Request, 401 Unauthorized, 404 Not Found, 500 Internal Server Error.
Cabeçalhos
Cabeçalho
Valor
Descrição
X-API-KEY
sua_chave_api
Chave de autenticação.
Content-Type
application/json
Formato JSON para a requisição.
User-Agent
NomeDaSuaAplicacao/1.0
Identificador da aplicação (ex.: MinhaLoja/1.0).
Parâmetros da URL
Parâmetro
Tipo
Obrigatório
Descrição
id
string
Sim
ID único do QRCode no formato UUID (ex.: 550e8400-e29b-41d4-a716-446655440000).
Validações:
qrcodeID: Deve ser um UUID válido (ex.: 550e8400-e29b-41d4-a716-446655440000).
Notas Técnicas:
Configure o
notification_url
ao criar o QRCode para receber o eventoQRCodeCompleted
quando o status mudar paraStatusCompleted
ouQRCodeRefunded
quando o status mudar paraStatusRefunded
.
Resposta
Status: 200 OK
Corpo: JSON com os detalhes do QRCode, incluindo status, valor, pagador, código Pix e imagem em base64.
Exemplo de Resposta:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"customer_id": "cust-12345",
"amount": 100.00,
"description": "Payment with due date",
"expiration": 30,
"due_date": "2024-12-31",
"status": "active",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"metadata": [
{
"key": "order_id",
"value": "ORD-2024-001"
}
],
"payer": {
"name": "João Silva",
"document": "12345678901"
},
"discount": {
"type": "fixed",
"amount": 10.00,
"limit_date": "2024-12-25"
},
"fine": {
"type": "percentage",
"amount": 2.5
},
"interest": {
"type": "percentage_calendar_days",
"amount": 1.0
},
"notification_url": "https://your-webhook.com/notifications",
"payload": {
"payload_id": 12345,
"data": "00020126580014br.gov.bcb.pix0136123e4567-e12b-12d1-a456-426614174000520400005303986540100.005802BR5913JOAO SILVA6008SAO PAULO62070503***63041234",
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVHic7doxAQAAAMKg9U9tCj+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4GvAAAEAAQ=="
}
}
Campos da Resposta:
Campo
Tipo
Descrição
id
string
UUID único do QRCode (ex.: 550e8400-e29b-41d4-a716-446655440000).
customer_id
string
Identificador interno do cliente (ex.: cust-12345).
amount
number
Valor do pagamento em reais (ex.: 100.00).
description
string
Descrição do pagamento (máx. 255 caracteres).
expiration
number
Tempo de expiração do QRCode (em dias para QRCodes com vencimento, ou segundos para QRCodes simples).
due_date
string
Data de vencimento, se aplicável (formato YYYY-MM-DD).
status
string
Status atual do QRCode (empty, active, canceled, completed, refunded).
created_at
string
Data de criação do QRCode (formato ISO 8601).
updated_at
string
Data da última atualização (formato ISO 8601).
metadata
array
Pares chave-valor para dados adicionais.
metadata[].key
string
Chave do metadado (ex.: order_id).
metadata[].value
string
Valor do metadado (ex.: ORD-2024-001).
payer
object
Dados do pagador.
payer.name
string
Nome completo do pagador (máx. 100 caracteres).
payer.document
string
CPF (11 dígitos) ou CNPJ (14 dígitos).
discount
object
Desconto para pagamento antecipado, se aplicável.
discount.type
string
Tipo de desconto (fixed, percentage, fixed_calendar_days).
discount.amount
number
Valor do desconto (em reais ou percentual).
discount.limit_date
string
Data limite para o desconto (formato YYYY-MM-DD).
fine
object
Multa por atraso, se aplicável.
fine.type
string
Tipo de multa (percentage, fixed, etc.).
fine.amount
number
Valor da multa (em percentual ou reais).
interest
object
Juros por atraso, se aplicável.
interest.type
string
Tipo de juros (percentage_calendar_days, fixed, percentage.).
interest.amount
number
Valor dos juros (em percentual ou reais).
notification_url
string
URL HTTPS para webhooks.
payload
object
Dados do QRCode Pix.
payload.payload_id
number
ID interno do payload Pix.
payload.data
string
Código Pix para pagamento (copia-e-cola).
payload.image
string
Imagem do QRCode em base64 (formato data:image/png;base64,...).
Exemplos de Código
curl -X GET https://sandbox.api.pagou.com.br/v1/pix/550e8400-e29b-41d4-a716-446655440000 \
-H "X-API-KEY: sua_chave_api" \
-H "Content-Type: application/json" \
-H "User-Agent: MinhaLoja/1.0"
Tratamento de Erros
Código HTTP
Descrição
Possível Causa
Solução
400
Bad Request
id não é um UUID válido.
Verificar formato do id.
401
Unauthorized
X-API-KEY inválido ou ausente.
Verificar chave.
404
Not Found
QRCode com o id não existe.
Verificar o id fornecido.
Exemplo de Resposta de Erro:
{
"error": "QRCode not found"
}
Boas Práticas Técnicas
Validação de Dados: Valide o id como UUID antes de enviar a requisição.
Segurança: Armazene
X-API-KEY
em variáveis de ambiente e use HTTPS para todas as requisições.Monitoramento: Registre todas as requisições e respostas (incluindo id, status, payload.data e payload.image) em logs para auditoria e depuração.
Testes no Sandbox: Use
https://sandbox.api.pagou.com.br/v1/pix/{id}
para simular consultas sem impacto em produção.Uso da Imagem: Converta o campo payload.image (base64) em uma imagem PNG para exibição em interfaces (ex.: <img src="{payload.image}"> em HTML).
Verificação de Status: Use o campo status para determinar ações subsequentes (ex.: exibir o código Pix se active, ou notificar o usuário se canceled)
Last updated