Resposta Pix
Campos específicos que o Pix devolve e como usá-los.
Campos específicos do Pix#
pix_qr_codestringopcionalImagem do QR Code em base64, pronta para virar um data URL.
pix_copy_pastestringopcionalCódigo copia e cola (BR Code). É o mesmo conteúdo do QR, em texto.
expires_atdatetimeopcionalMomento em que a cobrança deixa de aceitar pagamento.
end_to_end_idstringopcionalIdentificador do Pix na rede do Banco Central. Preenchido só após a confirmação.
paid_atdatetimeopcionalQuando o pagamento foi confirmado. Nulo enquanto pendente.
net_centavosintegeropcionalValor 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#
| Status | Quando acontece |
|---|---|
pending | Cobrança criada, QR disponível, aguardando o pagador. |
paid | Pagamento confirmado. O saldo entra conforme o prazo de liberação. |
expired | O prazo acabou sem pagamento. |
canceled | Você cancelou antes do pagamento. |
refunded | O 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..."
}
}