Quickstart
Neste guia você cria uma cobrança Pix de ponta a ponta: registrar o webhook →
criar a cobrança → exibir o qr_code → receber a confirmação.
Pré-requisitos
Seção intitulada “Pré-requisitos”- O par
x-api-key(pk_…) ex-token(sk_…), gerado no painel em Integração → Chaves de API. Osk_aparece uma única vez. - Um endpoint HTTPS público para receber webhooks (opcional, mas recomendado).
Se ainda não gerou as chaves, comece por Autenticação.
-
Registre um webhook (opcional, recomendado)
Assim você recebe a confirmação do pagamento em tempo real, sem polling.
POST /api/webhooks curl --request POST \--url https://api.avexus.app/api/webhooks \--header 'Content-Type: application/json' \--header 'x-api-key: <API_KEY>' \--header 'x-token: <TOKEN>' \--header 'x-timezone: America/Sao_Paulo' \--header 'idempotency-key: <UNIQUE_KEY>' \--data '{"url": "https://seu-servidor.com.br/webhooks/avexus","events": ["transaction", "withdraw", "dispute"]}'Guarde o
secretretornado — é com ele que você valida a assinatura HMAC das entregas:Resposta 201 {"code": 201,"content": {"magic_id": "wh_03UdoKvLNLHg","url": "https://seu-servidor.com.br/webhooks/avexus","secret": "whsec_2f1f9e5cbe7b4b3c9a6d","events": ["transaction", "withdraw", "dispute"],"active": true,"created_at": "2026-07-24T18:38:25.688Z","updated_at": "2026-07-24T18:38:26.703Z"},"message": "Webhook created","timestamp": "2026-07-24T18:38:26.703Z"} -
Crie a cobrança Pix
Envie o valor, a sua referência (
external_ref) e os dados do pagador:POST /api/transactions curl --request POST \--url https://api.avexus.app/api/transactions \--header 'Content-Type: application/json' \--header 'x-api-key: <API_KEY>' \--header 'x-token: <TOKEN>' \--header 'x-timezone: America/Sao_Paulo' \--header 'idempotency-key: <UNIQUE_KEY>' \--data '{"amount": 4.00,"external_ref": "pedido_1042","requester": {"name": "Maria Souza","email": "maria@example.com","phone": "11999999999","document": "12468239008"},"payment_method": "Pix","expires_in": 3600,"description": "Pedido 1042"}'A resposta vem com status
PENDINGe o copia-e-cola do Pix:Resposta 201 {"code": 201,"content": {"magic_id": "rU1w01Ct6QL3","amount": 4.00,"currency": "BRL","status": "PENDING","decline_reason": null,"description": "Pedido 1042","payment_method": "Pix","qr_code": "00020101021226870014br.gov.bcb.pix2565qrcode...","end_to_end": "E60789431202607241838V2JYEP7TUZ6","requester": {"name": "Maria Souza","email": "maria@example.com","phone": "11999999999","document": "12468239008"},"external_ref": "pedido_1042","created_at": "2026-07-24T18:38:25.688Z","updated_at": "2026-07-24T18:38:26.703Z"},"message": "Transaction created","timestamp": "2026-07-24T18:38:26.703Z"} -
Exiba o
qr_codepara o pagadorO campo
qr_codeé o payload Pix copia-e-cola (BR Code). Você pode:- renderizá-lo como QR code na sua interface (qualquer biblioteca serve); e/ou
- oferecer um botão “copiar código” para o pagador colar no app do banco.
A cobrança expira depois do tempo definido em
expires_in(em segundos). -
Receba o webhook de confirmação
Quando o pagador conclui o Pix, a Avexus envia um
POSTpara o seu endpoint com o eventoTRANSACTIONe o statusCONFIRMED:Webhook de transação (payload) {"data": {"magic_id": "rU1w01Ct6QL3","amount": 4.00,"currency": "BRL","status": "CONFIRMED","decline_reason": null,"description": "Pedido 1042","payment_method": "Pix","qr_code": "00020101021126700014br.gov.bcb.pix...","end_to_end": "E60789431202607241838V2JYEP7TUZ6","external_ref": "pedido_1042","requester": {"name": "Maria Souza","email": "maria@example.com","phone": "11999999999","document": "12468239008"},"movement": {"payer": {"name": "Maria Souza","document": "12468239008","bank": "BANCO INTER S.A.","agency": "0001","account": "123456-7"},"payee": {"name": "Sua Loja LTDA","document": "12345678000190","bank": "BANCO INTER S.A.","agency": "0001","account": "765432-1"}},"created_at": "2026-07-24T18:38:25.688Z","updated_at": "2026-07-24T18:41:06.467Z"},"event": "TRANSACTION"}Valide o header
x-webhook-signaturecom HMAC SHA256 antes de processar — veja o guia de webhooks. -
(Alternativa) Consulte o status por polling
Se preferir, consulte a cobrança pela sua referência:
GET /api/transactions curl --request GET \--url 'https://api.avexus.app/api/transactions?external_ref=pedido_1042&limit=20' \--header 'x-api-key: <API_KEY>' \--header 'x-token: <TOKEN>' \--header 'x-timezone: America/Sao_Paulo'
Próximos passos
Seção intitulada “Próximos passos”- Cobranças — todos os campos e filtros de consulta.
- Receber webhooks — payloads completos e verificação de assinatura.
- Status de transação — o ciclo de vida completo.
- Ambiente sandbox — teste cada status sem mover dinheiro.
