Antes de começar
- Uma chave
sk_test_, criada em Desenvolvedores no painel. O valor em claro aparece uma única vez — copie na hora. - Um endpoint público para receber o webhook. Em desenvolvimento, um túnel (
ngrok,expose) serve.
Os valores aqui são inteiros em centavos: R$ 100,00 se envia como
10000. Decimais são
recusados com 422, e o porquê está em Valores em centavos.1
Crie a cobrança
Envie o valor em centavos e uma A resposta vem Guarde o
Idempotency-Key sua. reference é o seu número de pedido — é por
ele que você reencontra a cobrança depois.201:id junto do seu pedido.2
Mostre o QR ao comprador
pix.qr_code é o payload copia-e-cola. A imagem do QR não vem na resposta: você a gera a partir
do payload, com qualquer biblioteca de QR code.Mostre as duas formas — a imagem, para quem aponta a câmera, e o texto com um botão de copiar, para
quem cola no aplicativo do banco. Exiba o vencimento a partir de pix.expires_at.A cobrança nasce
pending e vale 1 hora por padrão. Ajuste com expires_in, em segundos, entre 60
e 604.800.3
Receba o charge.paid
Cadastre o seu endpoint em Desenvolvedores. Quando o PIX for confirmado, enviamos:Depois de conferir: grave o evento, responda
200, e processe em fila. Só aí libere o produto.4
Confirme
Consulte a cobrança e veja
status: "paid":Se algo deu errado
O catálogo completo está em Erros.
Próximos passos
Checkout completo
O fluxo de produção, com rede de segurança para quando o webhook falha.
Idempotência
Por que a
Idempotency-Key importa mais do que parece.Webhooks
Os três eventos, assinatura e retentativas.
Referência da API
Todos os campos, com playground.
Ficou algo de fora? Escreva para suporte@usevext.com. Se o assunto for uma chamada específica, informe o horário dela; se for uma entrega de webhook, informe o
X-Vext-Delivery — é por ele que localizamos a tentativa, a resposta do seu servidor e o horário.