Começando

Crie uma chave e faça a primeira cobrança em sandbox.

Do zero à primeira cobrança#

  • Crie sua conta. Só precisamos de nome de usuário, e-mail e senha — leva menos de um minuto.
  • Gere uma chave de sandbox. No painel, em Desenvolvedores → Chaves de API. A chave completa aparece uma única vez; guarde-a em uma variável de ambiente.
  • Crie a cobrança. Use o exemplo ao lado. O valor mínimo é R$ 5,00 e o máximo é R$ 1.000,00 (500 centavos).
  • Cadastre um webhook. Assim você recebe o payment.paid em vez de ficar consultando a API.

Nunca no navegador

A chave de API dá acesso total à sua conta. Ela deve viver apenas no seu servidor. Se ela for exposta em um app ou em código de front-end, revogue e gere outra imediatamente.
POSTprimeira cobrança
curl https://api.kyvopay.com.br/v1/payments \
  -H "X-API-Key: $KYVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "pix",
    "amount_centavos": 500,
    "description": "Primeiro teste",
    "customer": {
      "name": "Cliente Teste",
      "email": "cliente@example.com",
      "document": "12345678909",
      "phone": "11999999999"
    },
    "items": [{
      "name": "Pedido de teste",
      "quantity": 1,
      "price_centavos": 500,
      "type": "DIGITAL"
    }]
  }'

O que você recebe#

O campo id é o identificador público da cobrança — guarde-o no seu banco, é ele que aparece nos webhooks e nas consultas.

Para o Pix, pix_copy_paste é o código que o cliente cola no app do banco e pix_qr_code é a imagem em base64. A cobrança nasce como pending e vira paid quando o pagamento é confirmado.

200 OKresposta
{
  "data": {
    "id": "pay_3Kq8Zx91",
    "status": "pending",
    "method": "pix",
    "amount_centavos": 500,
    "pix_copy_paste": "00020126580014br.gov.bcb.pix...",
    "pix_qr_code": "iVBORw0KGgoAAAANSUh...",
    "expires_at": "2026-08-11T19:30:00Z"
  },
  "error": null,
  "request_id": "req_7f2c9a10"
}