Skip to main content
Ao final desta página você terá uma cobrança PIX criada, um QR pronto para exibir, e o evento de confirmação chegando no seu servidor.

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 Idempotency-Key sua. reference é o seu número de pedido — é por ele que você reencontra a cobrança depois.
A resposta vem 201:
Guarde o 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:
Antes de liberar o produto, confirme que o evento veio mesmo de nós. São poucas linhas de código, prontas nas quatro linguagens em Verificar a assinatura. Sem essa checagem, quem descobrir a URL do seu endpoint consegue simular um pagamento.
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.