Guia de Cobrança com QR Code
Fluxo prático para criar, apresentar e conciliar cobranças Pix com QR Code dinâmico.
Este guia cobre o caso de uso de recebimento via QR Code, do momento de criação da cobrança até a confirmação de pagamento.
Quando usar este fluxo
Use cobrança com QR Code quando você precisa:
- Receber pagamento em checkout (site/app/PDV);
- Gerar um QR Code único por pedido;
- Conciliar pagamento com seu pedido interno usando
external_id.
Pré-requisitos
- Token JWT válido (veja Guia de Autenticação);
- Header
Authorization: Bearer <token>em todas as chamadas; - Valores monetários em centavos no campo
amount.
Fluxo da cobrança
Passo 1 - Criar a cobrança
Endpoint de referência: Criar uma cobrança via QRCode
POST /v1/connect/charge?base64=true HTTP/1.1
Host: api.qesh.ai
Authorization: Bearer <token>
Content-Type: application/json
{
"amount": 15990,
"external_id": "pedido-2026-000981",
"key": "123e4567-e89b-12d3-a456-426614174000",
"payer": {
"name": "Maria Souza",
"tax_id": "12345678901"
}
}Campos importantes:
amount: valor em centavos;external_id: seu identificador de negócio para conciliação;key: chave Pix recebedora da sua conta;payer: opcional, útil para reconciliação/antifraude.
Passo 2 - Exibir QR Code e Pix Copia e Cola
Na resposta da criação, você recebe os dados da cobrança. Os mais usados no front-end:
id: identificador interno da cobrança;transaction_identification(TXID): identificador Pix da cobrança;emvqrcps: código EMV (Pix Copia e Cola);base64image(quandobase64=true): imagem do QR Code.
Boas práticas:
- Exiba QR Code e também o código Copia e Cola;
- Mostre um contador de validade no checkout;
- Salve
id,external_idetransaction_identificationna sua base.
Passo 3 - Confirmar pagamento
Você pode confirmar por webhook (recomendado) e por consulta ativa (fallback).
Consulta por ID:
Consulta por external_id:
Consulta por TXID:
Status esperados da cobrança:
PENDING: aguardando pagamento;APPROVED: pago;EXPIRED: expirado.
Fluxo recomendado de implementação
- Criar cobrança ao iniciar checkout;
- Persistir
id,external_idetxid; - Exibir QRCode/EMV para o pagador;
- Receber webhook de confirmação;
- Atualizar pedido para pago;
- Se webhook atrasar, consultar por
external_idoutxid.
Erros comuns
400 BAD_REQUEST: payload inválido (ex.: campo obrigatório ausente);401 UNAUTHORIZED: token ausente/expirado;422 UNPROCESSABLE_ENTITY: regra de validação não atendida.
Sempre registre o meta.request_id para suporte.
Updated 8 days ago
