VyvaPay
Entrar

API VyvaPay

Referência REST v1 para cobranças PIX, saques e consulta de transações. Todas as rotas usam JSON e autenticação por API Key.

Base: https://server.vyvapay.com

Visão geral

A API segue convenções REST: recursos em caminhos versionados (/api/v1), corpo e respostas em application/json, e códigos HTTP semânticos. Utilize HTTPS em produção.

Gere e revogue chaves no painel. Nunca exponha sk_live_... em aplicativos móveis ou repositórios públicos.

Pacote para integrar em outro sistema (README + instruções para IA)

Arquivos Markdown estáticos: /docs/README.md, /docs/AI_INTEGRATION.md. No repositório Git ficam em docs/ na raiz do projeto vyvapay.com (copie a pasta inteira).

Autenticação

Inclua o cabeçalho Authorization com o valor Bearer SUA_CHAVE. Requisições sem chave válida recebem 401.

Authorization: Bearer sk_live_...

Criar pagamento PIX

POST/api/v1/payments

Cria um pedido e retorna dados PIX (copia e cola e QR Code em Base64) para o pagador concluir a transação.

Corpo (JSON)

CampoTipoObrigatórioDescrição
amountnumberSimValor em reais (positivo).
customer_emailstringSimE-mail do pagador.
customer_namestringNãoNome exibido na cobrança.
customer_cpfstringNãoCPF do pagador (apenas dígitos ou formatado).
descriptionstringNãoDescrição da cobrança.
payment_method"PIX"NãoPadrão PIX.

Respostas

CódigoDescrição
201Cobrança criada.
400Validação (corpo inválido).
401API Key inválida.
500Erro interno.

Criar saque PIX

POST/api/v1/withdrawals

Inicia uma transferência PIX da sua conta para a chave informada.

Corpo (JSON)

CampoTipoObrigatórioDescrição
amountnumberSimValor do saque.
pix_keystringSimChave PIX de destino.
key_typeenumSimCPF, EMAIL, CNPJ, PHONE ou EVP.
descriptionstringNãoReferência interna.
documentstringNãoDocumento do titular quando aplicável.

Respostas

CódigoDescrição
201Saque registrado.
400Validação.
401API Key inválida.
500Erro interno.

Consultar transação

GET/api/v1/transactions/:id

Retorna uma transação do razão vinculada à sua conta, incluindo status do pagamento e dados do cliente quando disponíveis.

Parâmetros de rota

CampoTipoObrigatórioDescrição
idstringSimIdentificador da transação (ledger).

Respostas

CódigoDescrição
200Encontrada.
401API Key inválida.
404Não encontrada.
500Erro interno.

Webhooks de eventos (painel)

No dashboard, em Modo Dev → Webhooks, você cadastra endpoints HTTPS que recebem notificações quando eventos ocorrem na conta (pagamentos, pedidos, saques, etc.).

Requisitos do endpoint

  • HTTPS obrigatório.
  • Responda com 200 ou 201 para confirmar entrega. Qualquer outro código ou erro de rede conta como falha.
  • Entregas com falha são repetidas automaticamente até 4 tentativas, com espera de 30s, depois 1 min, depois 5 min entre uma tentativa e a seguinte. Após esgotar as tentativas, o painel marca a entrega como falha; você pode reenfileirar manualmente na aba Entregas.

Corpo e cabeçalhos

Cada notificação é um POST com corpo JSON contendo id, type, created_at e data.

CampoTipoObrigatórioDescrição
Content-TypeheaderSimapplication/json
X-VyvaPay-TimestampheaderSimUnix timestamp em segundos (string) usado na assinatura.
X-VyvaPay-SignatureheaderSimHMAC SHA-256 em hexadecimal: assina a mensagem timestamp + "." + corpo bruto (UTF-8), usando o segredo do endpoint (whsec_…).
X-VyvaPay-Event-IdheaderSimId do evento (coincide com o campo id no JSON).
X-VyvaPay-Endpoint-IdheaderSimIdentificador do endpoint configurado no painel.

Para validar: calcule o HMAC-SHA-256 em hexadecimal do segredo do endpoint sobre a mensagem formada por timestamp + "." + corpo_bruto (UTF-8, bytes exatamente como recebidos) e compare com X-VyvaPay-Signature. Use o mesmo timestamp do cabeçalho X-VyvaPay-Timestamp.

Webhooks do gateway de liquidação (internos) seguem outro fluxo; esta seção refere-se apenas aos webhooks de eventos que você configura no painel VyvaPay.