Introduction
Everything you need to integrate KyvoPay Pix payments safely and move to production with confidence.
KyvoPay provides a straightforward HTTP API for creating and tracking Pix payments, sending payouts, issuing refunds, managing balances and receiving real-time events.
This documentation is organized as a practical path: understand the basics, make your first sandbox request, implement webhooks and only then move to production.
Note
New to KyvoPay? Start with Your first integration. You can complete the sandbox flow without moving real money.
Base URL
All authenticated integration requests use the following base address:
https://integrate.api.kyvopay.com.br/v1Authentication
Send your API key in the X-API-Key header. Keep the key on your server; it must never be exposed in a browser or mobile application.
curl https://integrate.api.kyvopay.com.br/v1/balance \
-H "X-API-Key: ky_XXXXX-XXXXX-XXXXX"Core concepts
- Sandbox and production are isolated. Each environment has its own API key and data.
- Amounts are integer cents. BRL 49.90 is sent as
4990. - Writes must be idempotent. Reuse a stable
idempotency_keywhen retrying a request. - Webhooks are the source of truth. Fulfill an order only after receiving and validating the payment event.
- Every response has a request ID. Save
request_idin your logs to make support and diagnostics faster.
Recommended integration path
Create a sandbox API key
Generate a test key in the dashboard and store it in a server-side environment variable.Create a Pix charge
Send the amount in cents and your order identifier as the idempotency key.Display the payment
Show both the QR Code and Pix copy-and-paste string returned by the API.Confirm through a webhook
Validate the signature, process the event once and return HTTP 200 quickly.Move to production
Create a production key, repeat the full flow with a small amount and monitor the first transactions.
Standard response envelope
Successful and failed requests share the same predictable envelope:
{
"data": {},
"error": null,
"request_id": "req_01..."
}Continue with Your first integration or browse the API Reference.