Skip to main content
O Quickstart mostra a primeira cobrança. Este roteiro vai além: leva a integração inteira do zero até estar pronta para receber dinheiro de verdade, com a ordem certa das coisas e o que conferir em cada etapa.

Como as peças se encaixam

Duas regras sustentam tudo: a chave nunca sai do seu servidor, e só o webhook (ou uma consulta) diz que o Pix foi pago. A resposta de criação nunca é prova de pagamento.

Antes de começar

  • Conta NyxPag com a verificação de identidade concluída.
  • Um servidor com URL pública em HTTPS, para receber webhooks.
  • Um lugar seguro para guardar segredos.
  • Um banco de dados seu, para guardar o pedido, a chave de idempotência e os eventos já processados.
Tudo acontece em produção e com dinheiro real. Siga o roteiro com valores baixos. Veja Ambientes.

O roteiro

1

Crie a chave com permissões mínimas

Em Dashboard → Chaves de API, crie uma chave para o checkout com payments:write, transactions:read e balance:read. Deixe transfers:write de fora. Veja Gestão de chaves.
2

Guarde a chave num cofre

Variável de ambiente ou gerenciador de segredos. Nunca no código.
3

Valide a chave com GET /balance

É a chamada mais barata para confirmar que a autenticação funciona.
Resposta esperada:
Recebeu 401? Confira o cabeçalho e o prefixo. Recebeu 403? Leia o error.code em Autenticação.
4

Cadastre o endpoint de webhook

Em Dashboard → Webhooks, informe a URL HTTPS do seu servidor, vincule à chave e guarde o segredo de assinatura. Veja Webhooks.
5

Implemente o receptor antes de cobrar

Valide a assinatura, deduplique, persista e responda 2xx. Teste localmente com um evento assinado por você, sem gastar nada. Veja Ambientes.
6

Crie uma cobrança de R$ 1,00

Use um externalId com prefixo de teste. Guarde esse externalId no seu banco antes de chamar a API.
Prefixe os testes (teste-) para identificá-los no extrato e evitar colisão de idempotência com pedidos reais.
7

Pague pelo seu banco

Escaneie o QR Code ou cole o Copia e Cola no app do seu banco.
8

Confira que o webhook chegou

O seu receptor deve receber transaction.approved com data.externalId igual ao do passo 6 e data.status: "approved". Se não chegou, veja Troubleshooting.
9

Teste os caminhos ruins

Reenvie a mesma criação com a mesma chave (deve voltar 200, sem duplicar). Mude o valor com a mesma chave (deve voltar 409). Crie e não pague, e espere 15 minutos pelo cancelled.
10

Revise o checklist e vá para produção

Siga Antes de ir para produção, troque a chave de teste pela de produção e libere.

Se algo não funcionar

Receber por Pix

Todos os campos e opções da cobrança.

Idempotência

A regra mais importante de uma integração financeira.