Pagamentos
QR Code
Cada cobrança expõe um endpoint que gera a imagem do QR Code PIX. Ele retorna um PNG pronto — sem JSON, sem base64 — ideal para colocar direto num <img>.
GET
/api/v1/charges/:id/qrcodeA resposta é a imagem PNG do BR Code da cobrança (Content-Type: image/png). O qrcode_url retornado ao criar a cobrança já aponta exatamente para este endpoint.
Exibir no navegador
Como o endpoint devolve uma imagem, você pode usá-lo direto no src de um <img>:
HTML
<img
src="https://api.verdin.com.br/api/v1/charges/clx7a1b2c3d4e5f6g7h8i9j0k/qrcode"
alt="QR Code PIX"
width="256"
height="256"
/>Prefere não expor a URL da API no front-end? Sirva o QR pela sua própria rota (proxy) ou renderize o
brcode como QR no seu app. A página de pagamento (payment_url) hospedada pela Verdin já mostra o QR pronto, sem código.Baixar a imagem
Para salvar o PNG no servidor, leia a resposta como binário:
cURL
curl "https://api.verdin.com.br/api/v1/charges/clx7a1b2c3d4e5f6g7h8i9j0k/qrcode" \
-H "Authorization: Bearer vrd_live_..." \
--output qrcode.pngNode.js
import { writeFile } from "node:fs/promises";
const id = "clx7a1b2c3d4e5f6g7h8i9j0k";
const res = await fetch(
`https://api.verdin.com.br/api/v1/charges/${id}/qrcode`,
{ headers: { Authorization: `Bearer ${process.env.VERDIN_API_KEY}` } },
);
const buffer = Buffer.from(await res.arrayBuffer());
await writeFile("qrcode.png", buffer); // PNG salvo em disco