Historia de un cobro
Línea de tiempo del cobro: las llamadas que lo tocaron, sus eventos, cada webhook enviado y si quedó algún pago para revisar. Los métodos se muestran por tipo (QR, banca), nunca por proveedor.
GEThttps://api.kuti.pe/v1/diagnostics/payment-intents/{id}/trace
Permiso diagnostics:read.
Path
Campo
Descripción
idstringrequerido
Id del cobro.Ej:
pi_01J8Z3K4M5N6P7Q8R9S0T1U2V3Language
Credentials
Header
Authorization
Secret key de developer · ejemplos con SDK oficial
API Request
$ npm install @kuti-pe/node
import { KutiClient } from "@kuti-pe/node";
const kuti = new KutiClient({ secretKey: process.env.KUTI_SECRET_KEY! });
const result = await kuti.diagnostics.tracePaymentIntent("pi_01J8Z3K4M5N6P7Q8R9S0T1U2V3");
console.log(result.timeline);SDK oficial · guía en /sdks
Response
Elige un ejemplo de respuesta:
application/json
200OK
{
"success": true,
"data": {
"payment_intent_id": "pi_01J8Z3K4M5N6P7Q8R9S0T1U2V3",
"status": "SUCCEEDED",
"amount": {
"amount": "60.00",
"currency": "PEN"
},
"cancellation_reason": null,
"created_at": "2026-09-29T15:10:02Z",
"methods": [
{
"method": "INTEROPERABLE_QR",
"status": "SUCCEEDED"
},
{
"method": "BANK_TRANSFER",
"status": "CANCELLED"
}
],
"timeline": [
{
"at": "2026-09-29T15:10:02Z",
"kind": "REQUEST",
"title": "POST /payment-intents → 201",
"request_id": "req_01J8Z3K4M5N6P7Q8R9S0T1U2V3",
"http_status": 201
},
{
"at": "2026-09-29T15:10:02Z",
"kind": "EVENT",
"title": "payment.created",
"request_id": "req_01J8Z3K4M5N6P7Q8R9S0T1U2V3",
"event_id": "evt_01J8Z3K4M5N6P7Q8R9S0T1U2V4"
},
{
"at": "2026-09-29T15:14:30Z",
"kind": "EVENT",
"title": "payment.succeeded",
"event_id": "evt_01J8Z3K4M5N6P7Q8R9S0T1U2V6"
},
{
"at": "2026-09-29T15:14:31Z",
"kind": "WEBHOOK_DELIVERY",
"title": "Webhook a https://mi-tienda.pe/webhooks/kuti: entregado (1 intento, HTTP 200)",
"event_id": "evt_01J8Z3K4M5N6P7Q8R9S0T1U2V6",
"delivery_id": "whd_01J8Z3K4M5N6P7Q8R9S0T1U2V7",
"http_status": 200
}
]
}
}