Ir al contenido
KUTI

Referencia de la API

Cada página de esta pestaña es un endpoint: método, path, JSON que envías y JSON que vuelve. Si buscas el recorrido completo (cuenta, cobro, webhook), eso está en Guías.

El sidebar izquierdo es el índice de https://api.kuti.pe/v1: cobros, clientes, checkout, webhooks, saldo, liquidaciones. No hay host distinto para prueba y producción; el entorno lo decide la API key.

Guías o esta pestaña

Guías te arma el camino: cuenta, primer cobro, Checkout.js, WooCommerce, MCP. Aquí abres un verbo concreto (POST /payment-intents) y ves el cuerpo, los códigos de error y un cURL para pegar. Las dos se complementan; no sustituyen.

Orden sugerido

Si recién llegas a la API, estas cuatro páginas cubren el 90 % de una integración.

TareaPágina
Emitir la secret key y ver permisosAutenticación
Crear un cobro QR o bancaCrear cobro
Marcar el pedido cuando paga el clienteWebhooks
Leer códigos 4xx/5xxErrores

Lo que se repite en todas las llamadas

  • Base URL única: https://api.kuti.pe/v1. kuti_test_… no mueve dinero; kuti_live_… sí (sello KUTI habilitado).
  • Montos como texto con dos decimales: "50.00", nunca como número.
  • Fechas en UTC ISO-8601 con Z (created_at, expires_at, paid_at).
  • En POST/PATCH que crean o cambian estado, manda Idempotency-Key (UUID v4) para no duplicar si reintentas.
  • Solo PEN. Si la tienda está en otra moneda, el plugin y el checkout no muestran KUTI.
Base URLbash
https://api.kuti.pe/v1

Un cobro de prueba

Esto alcanza para ver un payment_intent con QR y código de banca. El detalle de cada campo está en Crear cobro.

POST /payment-intentsbash
curl -s https://api.kuti.pe/v1/payment-intents \
  -H 'Authorization: Bearer kuti_test_…' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 550e8400-e29b-41d4-a716-446655440001' \
  -d '{
    "amount": { "amount": "50.00", "currency": "PEN" },
    "payment_method_types": ["INTEROPERABLE_QR", "BANK_TRANSFER"],
    "description": "Pedido §§SLOT_0§§
  }'
  • Crear cobro — cuerpo, respuesta y errores de POST /payment-intents
  • SDKs — Node, PHP y Python con la misma forma de datos