Resposta Pix

Campos específicos que o Pix devolve e como usá-los.

Campos específicos do Pix#

pix_qr_codestringopcional

Imagem do QR Code em base64, pronta para virar um data URL.

pix_copy_pastestringopcional

Código copia e cola (BR Code). É o mesmo conteúdo do QR, em texto.

expires_atdatetimeopcional

Momento em que a cobrança deixa de aceitar pagamento.

end_to_end_idstringopcional

Identificador do Pix na rede do Banco Central. Preenchido só após a confirmação.

paid_atdatetimeopcional

Quando o pagamento foi confirmado. Nulo enquanto pendente.

net_centavosintegeropcional

Valor líquido após a taxa. Preenchido após a confirmação.

renderizando o QR
// pix_qr_code já vem em base64
const src = `data:image/png;base64,${data.pix_qr_code}`;

// o copia e cola é o mesmo conteúdo em texto
await navigator.clipboard.writeText(data.pix_copy_paste);

Ciclo de vida#

StatusQuando acontece
pendingCobrança criada, QR disponível, aguardando o pagador.
paidPagamento confirmado. O saldo entra conforme o prazo de liberação.
expiredO prazo acabou sem pagamento.
canceledVocê cancelou antes do pagamento.
refundedO valor foi devolvido depois de pago.

Toda transição dispara um webhook. Trate payment.paid de forma idempotente: em casos raros de retentativa, o mesmo evento pode chegar mais de uma vez.

POSTwebhook de confirmação
{
  "event": "payment.paid",
  "sent_at": "2026-08-11T19:03:12Z",
  "data": {
    "id": "pay_3Kq8Zx91",
    "status": "paid",
    "method": "pix",
    "amount_centavos": 12990,
    "net_centavos": 12945,
    "paid_at": "2026-08-11T19:03:11Z",
    "end_to_end_id": "E12345678202608111903..."
  }
}