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 (
500centavos). - Cadastre um webhook. Assim você recebe o
payment.paidem 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"
}