Developers

REST API /v1 — Charges (Fase A)

Última actualización: 27 de octubre de 2026 · Operador: KAIA-Bolivia SRL

Kaia-Pay es MCP-first. Esta REST fina es el espejo 1:1 de charges (misma lógica que MCP) para backends web/app. Los reportes siguen solo en MCP. Beta cerrada por invitación.

1. Qué es

La superficie REST /v1 replica los casos de uso de cobros del MCP merchant: crear QR, listar, consultar, anular, refrescar estado, ver límites. Mismas reglas de autenticación e idempotencia. Pensada para integraciones backend (tu web o app), no para reemplazar el flujo agentic.

2. Base URL

https://gw.kaia-pay.pay-bo.com/v1

Producción. Todos los paths de abajo son relativos a esta base.

3. Autenticación

Usá la API key de tu comercio en la cabecera Authorization:

Authorization: Bearer pbk_live_…

Es una API key de comercio (pbk_live_…). Esta superficie no usa OAuth del Claude Directory: eso es para conectar el agente MCP, no para REST.

4. Idempotencia

Las mutaciones (POST) requieren la cabecera Idempotency-Key (8–64 caracteres). Si repetís la misma clave dentro de 24 horas, devolvemos la respuesta cacheada. En POST /charges también podés mandar idempotencyKey en el cuerpo; si falta, se usa la cabecera.

5. Envelope de respuesta

Todas las respuestas siguen este formato:

{
  "ok": true,
  "data": { … },
  "error": { "code": "…", "message": "…", "details": { … } }
}

Si ok es false, mirá error.code y error.message. Códigos HTTP típicos: 400 parámetros, 401 API key, 404 no encontrado, 409 límite o conflicto de idempotencia, 429 rate limit.

6. Límites beta

Consultá el consumo actual con GET /limits.

7. Endpoints

MétodoPathDescripción
POST/chargesCrear cobro QR
GET/chargesListar cobros (filtros + cursor)
GET/charges/{chargeId}Obtener cobro
GET/charges/{chargeId}/qrQR del cobro (JSON o PNG)
POST/charges/{chargeId}/cancelAnular cobro
POST/charges/{chargeId}/refreshReconsultar estado al proveedor
GET/payments/statusEstado de pago (chargeId o reference)
GET/limitsLímites y consumo

Especificación completa: openapi-v1-charges.yaml (OpenAPI 3.1).

8. Ejemplos curl

Reemplazá pbk_live_YOUR_KEY y los IDs por los tuyos. Nunca subas keys a repos públicos.

Crear cobro QR

curl -sS -X POST 'https://gw.kaia-pay.pay-bo.com/v1/charges' \
  -H 'Authorization: Bearer pbk_live_YOUR_KEY' \
  -H 'Idempotency-Key: demo-charge-001-abc12' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": 85.00,
    "description": "Almuerzo mesa 4",
    "canal": "WEB"
  }'

Obtener cobro por id

curl -sS 'https://gw.kaia-pay.pay-bo.com/v1/charges/ch_XXXXXXXX' \
  -H 'Authorization: Bearer pbk_live_YOUR_KEY'

Estado de pago

curl -sS 'https://gw.kaia-pay.pay-bo.com/v1/payments/status?chargeId=ch_XXXXXXXX' \
  -H 'Authorization: Bearer pbk_live_YOUR_KEY'

Límites y consumo

curl -sS 'https://gw.kaia-pay.pay-bo.com/v1/limits' \
  -H 'Authorization: Bearer pbk_live_YOUR_KEY'

9. OpenAPI

Descargá el contrato: openapi-v1-charges.yaml. Podés importarlo en Postman, Insomnia o generar un cliente con openapi-generator.

10. Contacto

¿Dudas de integración? Escribinos a carlos.olivera.t@gmail.com o mirá Acerca de. Operado por KAIA-Bolivia SRL · kaialatam.com.