KaironPay API
Documentacao completa da API de pagamentos PIX do KaironPay.
Sobre a plataforma
O KaironPay oferece uma API REST completa para integrar cobranças PIX, saques, clientes e webhooks ao seu sistema. Multi-provedor, segura e em tempo real.
Cobranças PIX
QR Code dinamico com confirmacao em segundos
Saques PIX
Transferencias automaticas para qualquer chave PIX
Webhooks
Notificações em tempo real para cada evento
Multi-Provedor
Woovi, Rapdyn, Venit, Asaas, GoGate e mais
1000.Códigos de Status HTTP
| Código | Significado |
|---|---|
| 200 | Sucesso |
| 201 | Recurso criado |
| 400 | Dados inválidos |
| 401 | Não autenticado |
| 403 | Sem permissão |
| 404 | Não encontrado |
| 429 | Rate limit excedido |
| 500 | Erro interno |
Autenticacao
Todas as requisicoes a API devem incluir sua API Key no header Authorization.
Como obter sua API Key
- Acesse o Painel do KaironPay
- Va em Configuracoes → API Key
- Copie a chave no formato
cmd_*
Formato da API Key
Todas as API Keys comecam com o prefixo cmd_ seguido de caracteres alfanumericos. Exemplo: cmd_a1B2c3D4e5F6g7H8i9J0
Exemplos de uso
Erros de autenticacao
| Status | Codigo | Descricao |
|---|---|---|
| 401 | auth_missing | Header Authorization nao enviado |
| 401 | invalid_auth_format | Formato invalido (use Bearer cmd_xxx) |
| 401 | invalid_api_key | API Key nao encontrada ou inativa |
| 401 | api_key_expired | API Key expirada |
| 429 | rate_limit | Limite de requisicoes excedido |
Cobrancas PIX
Crie cobrancas PIX com QR Code dinamico, liste, consulte e cancele cobrancas.
Cria uma cobranca PIX e retorna o QR Code e o codigo copia-e-cola (brCode) para pagamento. A cobranca fica com status ACTIVE ate ser paga ou expirar.
Parametros do body (JSON)
| Parametro | Tipo | Descricao | |
|---|---|---|---|
| value | number | obrigatorio | Valor em centavos. Ex: 1500 = R$ 15,00. Minimo: 1 centavo. |
| comment | string | Descricao da cobranca exibida ao pagador | |
| correlationID | string | ID unico da sua aplicacao (min 26 chars). Se nao informado, sera gerado automaticamente. | |
| customer | object | Dados do pagador (obrigatorio para maioria dos provedores) | |
| customer.name | string | Nome completo do pagador | |
| customer.taxID | string | CPF ou CNPJ do pagador (apenas numeros) | |
| customer.email | string | Email do pagador (formato valido) | |
| customer.phone | string | Telefone do pagador | |
| expiresDate | string | Data de expiracao (ISO 8601). Ex: 2026-04-18T23:59:59Z |
correlationID, a API retorna a cobranca existente ao inves de criar uma nova (status 200).Campos da resposta
| Campo | Tipo | Descricao |
|---|---|---|
| data.correlationID | string | ID unico da cobranca (use para consultar status) |
| data.value | number | Valor em centavos |
| data.status | string | ACTIVE (aguardando pagamento) |
| data.brCode | string | Codigo PIX copia-e-cola (EMV) |
| data.qrCodeImage | string | QR Code em base64 (PNG). Use em <img src="..."> |
| data.paymentLinkUrl | string | Link de pagamento (quando disponivel) |
| data.expiresAt | string | Data de expiracao (ISO 8601) |
| usedProvider | string | Provedor que processou (RAPDYN, WOOVI, etc.) |
| fallbackUsed | boolean | true se o provedor principal falhou e um fallback foi usado |
Lista todas as cobrancas da conta autenticada com filtros e paginacao.
Query parameters
| Parametro | Tipo | Default | Descricao |
|---|---|---|---|
| skip | number | 0 | Offset para paginacao |
| limit | number | 100 | Maximo de resultados (max: 500) |
| status | string | Filtro: ACTIVE, COMPLETED, EXPIRED, REFUNDED | |
| start_date | string | Data inicial (ISO 8601) | |
| end_date | string | Data final (ISO 8601) |
Consulta uma cobranca especifica pelo correlationID. Retorna todos os campos incluindo brCode, qrCodeImage, dados do cliente e informacoes de reembolso.
Cancela uma cobranca ativa. Disponivel apenas para o provedor Woovi.
ACTIVE (aguardando pgto), COMPLETED (pago), EXPIRED (expirado), REFUNDED (reembolsado), CANCELLED (cancelado).Clientes
Cadastre e consulte clientes (pagadores) vinculados a sua conta.
customer. O endpoint de criacao manual esta disponivel apenas para o provedor Woovi.Cadastra um novo cliente manualmente. Util para pre-cadastrar pagadores antes de criar cobrancas.
Parametros do body (JSON)
| Parametro | Tipo | Descricao | |
|---|---|---|---|
| name | string | obrigatorio | Nome completo do cliente |
| taxID | string | obrigatorio | CPF ou CNPJ (apenas numeros) |
| string | Email valido | ||
| phone | string | Telefone com DDD | |
| correlationID | string | ID unico na sua aplicacao | |
| address | object | Endereco completo | |
| address.zipcode | string | CEP | |
| address.street | string | Rua | |
| address.number | string | Numero | |
| address.neighborhood | string | Bairro | |
| address.city | string | Cidade | |
| address.state | string | UF (2 letras) |
Lista todos os clientes cadastrados na conta.
Query parameters
| Parametro | Tipo | Default | Descricao |
|---|---|---|---|
| skip | number | 0 | Offset para paginacao |
| limit | number | 100 | Maximo de resultados |
Saques e Transferencias
Envie PIX para qualquer chave — saques automaticos ou com aprovacao manual via API.
auto (padrao) — saque e processado imediatamente. manual — saque fica pendente ate aprovacao do admin no painel.Cria um saque/transferencia PIX. O valor e debitado do saldo disponivel. A taxa e calculada automaticamente conforme configuracao da conta.
Parametros do body (JSON)
| Parametro | Tipo | Descricao | |
|---|---|---|---|
| value | number | obrigatorio | Valor em centavos. Minimo: 100 (R$ 1,00) |
| pixKey | string | obrigatorio | Chave PIX de destino |
| pixKeyType | string | obrigatorio | Tipo da chave (ver tabela abaixo) |
| description | string | Descricao/observacao do saque | |
| correlationID | string | ID unico para evitar duplicatas |
Tipos de chave PIX
| pixKeyType | Formato | Exemplo |
|---|---|---|
| cpf | 11 digitos | 12345678900 |
| cnpj | 14 digitos | 12345678000190 |
| Email valido | joao@email.com | |
| phone | +55 + DDD + numero | +5511999887766 |
| evp | Chave aleatoria (UUID) | a1b2c3d4-e5f6-... |
400 saldo insuficiente, 400 limite diario excedido, 403 saques bloqueados, 409 correlationID duplicado.Lista todos os saques da conta com filtros e paginacao.
Query parameters
| Parametro | Tipo | Default | Descricao |
|---|---|---|---|
| skip | number | 0 | Offset para paginacao |
| limit | number | 100 | Maximo de resultados (max: 500) |
| status | string | Filtro: COMPLETED, PENDING, FAILED, REJECTED | |
| start_date | string | Data inicial (ISO 8601) | |
| end_date | string | Data final (ISO 8601) |
Consulta o status de um saque especifico. Aceita reference_code ou correlationID.
pending_approval → processing → completed | failed | rejectedReembolsos
Estorne total ou parcialmente cobrancas ja pagas. O valor e devolvido ao pagador via PIX.
Cria um reembolso para uma cobranca ja paga (COMPLETED). Suporta reembolso total ou parcial.
Parametros do body (JSON)
| Parametro | Tipo | Descricao | |
|---|---|---|---|
| correlationID | string | obrigatorio | correlationID da cobranca original que sera reembolsada |
| value | number | obrigatorio | Valor do reembolso em centavos. Para reembolso total, use o mesmo valor da cobranca. |
| comment | string | Motivo do reembolso (ex: "Produto com defeito") |
Regras de reembolso
| Regra | Descricao |
|---|---|
| Status obrigatorio | Apenas cobrancas com status COMPLETED podem ser reembolsadas |
| Valor maximo | O valor do reembolso nao pode exceder o valor original da cobranca |
| Reembolso parcial | Suportado — envie um valor menor que o original |
| Limite por cobranca | Apenas 1 reembolso por cobranca |
| Webhook | Evento TRANSACTION_REFUNDED e enviado apos o processamento |
Webhooks
Receba notificações em tempo real quando eventos ocorrem. O KaironPay envia um POST HTTP para a URL cadastrada com os dados do evento.
Como funciona
Quando um evento ocorre (pagamento confirmado, saque realizado, etc.), o KaironPay envia automaticamente um POST HTTP para cada URL de webhook cadastrada. O payload é assinado com HMAC-SHA256 para garantir autenticidade.
- Cadastre sua URL de webhook no painel (Configurações → Webhook)
- Escolha os eventos que deseja receber
- Quando o evento ocorrer, o KaironPay envia um POST para sua URL
- Valide a assinatura
X-Command-Signaturecom seu secret - Retorne HTTP
2xxem até 5 segundos
Headers enviados em cada webhook
| Header | Descrição | Exemplo |
|---|---|---|
| Content-Type | Tipo do conteúdo | application/json |
| X-Command-Signature | Assinatura HMAC-SHA256 do body (hex) | a1b2c3d4e5... |
| X-Command-Timestamp | Timestamp Unix da assinatura (segundos) | 1713318600 |
| X-Command-Algorithm | Algoritmo usado na assinatura | HMAC-SHA256 |
| X-Command-Event | Tipo do evento | TRANSACTION_COMPLETED |
| User-Agent | Identificador do remetente | Command-Webhook/1.0 |
Todos os eventos disponíveis
| Evento interno | Evento no payload | Descrição |
|---|---|---|
| Cobranças (PIX In) | ||
| TRANSACTION_CREATED | PayInCreated | Cobrança PIX criada, aguardando pagamento |
| TRANSACTION_COMPLETED | PayInCompleted | Pagamento PIX confirmado com sucesso |
| TRANSACTION_EXPIRED | PayInExpired | Cobrança expirou sem pagamento |
| TRANSACTION_CANCELLED | PayInCancelled | Cobrança cancelada |
| TRANSACTION_FAILED | PayInFailed | Falha no processamento da cobrança |
| TRANSACTION_REFUNDED | PayInRefunded | Cobrança reembolsada (total ou parcial) |
| TRANSACTION_CHARGEBACK | PayInChargeback | Contestação/disputa recebida |
| Saques (PIX Out) | ||
| PAYOUT_CREATED | PayOutCreated | Saque criado, aguardando aprovação/processamento |
| PAYOUT_APPROVED | PayOutApproved | Saque aprovado (quando aprovação manual está ativa) |
| PAYOUT_COMPLETED | PayOutCompleted | Saque/transferência PIX concluído com sucesso |
| PAYOUT_FAILED | PayOutFailed | Saque falhou (chave inválida, sem saldo, etc.) |
| PAYOUT_REJECTED | PayOutRejected | Saque rejeitado pelo admin |
| PAYOUT_REFUNDED | PayOutRefunded | Saque devolvido pelo banco destinatário |
{ event, timestamp, data }. O campo data contém os detalhes do evento. Valores monetários em data são em reais (não centavos).Payloads de Cobrança (PIX In)
Enviado quando um pagamento PIX é confirmado. Este é o evento mais importante — use-o para liberar o produto/serviço ao cliente.
| Campo | Tipo | Descrição |
|---|---|---|
| event | string | "PayInCompleted" |
| timestamp | string | Data/hora ISO 8601 do envio |
| data.id | string | ID interno da cobrança |
| data.txid | string | correlationID da cobrança |
| data.amount | number | Valor em reais (ex: 100.00) |
| data.status | string | "paid" |
| data.payer.name | string | Nome de quem pagou o PIX |
| data.payer.document_number | string | CPF/CNPJ de quem pagou |
| data.payer.account_bank | string | Banco de origem (se disponível) |
| data.paidAt | string | Data/hora do pagamento (ISO 8601) |
| data.endToEndId | string | ID E2E do PIX (rastreabilidade BACEN) |
| data.provider | string | Provedor que processou (RAPDYN, WOOVI, etc.) |
| data.comment | string | Descrição da cobrança |
Enviado quando uma nova cobrança PIX é criada. Útil para tracking.
Enviado quando uma cobrança é reembolsada (total ou parcialmente).
Mesmo formato do TRANSACTION_COMPLETED, mas com status diferente:
| Evento | event no payload | data.status |
|---|---|---|
| TRANSACTION_EXPIRED | PayInExpired | "expired" |
| TRANSACTION_CANCELLED | PayInCancelled | "cancelled" |
| TRANSACTION_FAILED | PayInFailed | "failed" |
| TRANSACTION_CHARGEBACK | PayInChargeback | "pending" |
Payloads de Saque (PIX Out)
Enviado quando um saque PIX é processado e confirmado com sucesso.
| Campo | Tipo | Descrição |
|---|---|---|
| data.referenceCode | string | ID interno do saque |
| data.correlationID | string | ID de correlação |
| data.value | number | Valor bruto em centavos |
| data.netAmount | number | Valor líquido em centavos (após taxas) |
| data.feeAmount | number | Taxa cobrada em centavos |
| data.status | string | "COMPLETED" |
| data.pixKey | string | Chave PIX de destino (parcialmente mascarada) |
| data.pixKeyType | string | Tipo da chave: cpf, cnpj, email, phone, random |
| data.endToEndId | string | ID E2E do PIX (rastreabilidade BACEN) |
| data.completedAt | string | Data/hora da conclusão (ISO 8601) |
Enviado quando um saque é aprovado pelo admin (apenas quando aprovação manual está ativa).
Enviado quando um saque falha no processamento (chave inválida, sem saldo no provedor, etc.).
Enviado quando um saque é rejeitado pelo admin.
Validação de assinatura
Sempre valide a assinatura X-Command-Signature antes de processar o webhook. Use seu Webhook Secret (configurado no painel) para verificar.
Retentativas e boas práticas
| Configuração | Valor |
|---|---|
| Timeout por tentativa | 5 segundos |
| Retentativas em caso de falha | Até 3 vezes com backoff exponencial |
| Circuit breaker | Ativa após 15 falhas em 2 minutos |
| Resposta esperada | HTTP 2xx (200, 201, 204) |
| Reenvio manual | Disponível no painel (Webhooks → Histórico) |
data.id ou data.referenceCode como chave de idempotência para evitar processar duplicatas.