Editar link de pago
Reemplaza los datos del link. Los cobros ya creados no cambian.
PUThttps://api.kuti.pe/v1/payment-links/{id}
El id (plink_…) va en la ruta. Envía el link completo (mismos campos que al crear). customer_field_ids sin enviar = las preguntas no cambian; si lo envías, se vuelve a copiar cada campo desde Ajustes (uno que ya no existe allí conserva la copia del link). Un slug distinto cambia la URL y la anterior sigue funcionando (no se rompe un QR impreso).
Parámetros del body
Campo
Descripción
titlestringrequerido
Lo que ve quien paga (3–120).Ej:
Taller de Excel — sábado 10ampricingstringrequerido
FIXED (monto fijo) o CUSTOMER_CHOOSES (quien paga elige: donaciones, montos libres).Ej:
FIXEDpayment_method_typesarrayrequerido
INTEROPERABLE_QR y/o BANK_TRANSFER. Al pagar solo se ofrecen los que sirven para ese monto (QR hasta S/ 500, banco desde S/ 50).Ej:
["INTEROPERABLE_QR", "BANK_TRANSFER"]amountstringopcional
Solo FIXED: el monto.Ej:
120.00min_amountstringopcional
Solo CUSTOMER_CHOOSES (obligatorio): monto mínimo.Ej:
10.00max_amountstringopcional
Solo CUSTOMER_CHOOSES (opcional): monto máximo.
suggested_amountsarrayopcional
Solo CUSTOMER_CHOOSES: hasta 4 montos sugeridos (botones).Ej:
["20.00", "50.00", "100.00"]slugstringopcional
Nombre en la URL (3–60: minúsculas, números, guiones), único en KUTI. Si no lo envías se genera del título. Si lo cambias, el anterior sigue funcionando.Ej:
taller-de-exceltemplatestringopcional
COURSE, EVENT, DONATION o GENERIC (default). Cambia el ícono y el texto del botón por defecto.
descriptionstringopcional
Texto bajo el título (hasta 1000).
image_urlstringopcional
Portada (https).
currencystringopcional
Default PEN.
category_idstringopcional
Categoría de cobro (cat_…).
expires_atstringopcional
Fecha límite para pagar (UTC ISO-8601). Después ya no acepta pagos.
customer_field_idsarrayopcional
Campos personalizados (cfd_…) que se le preguntan a quien paga, en orden. El link guarda una copia: si luego los editas o archivas, el link sigue preguntando lo mismo hasta que lo edites. Sin enviar (al crear) = los marcados "pedir también al pagar"; [] = solo nombre, apellido y correo.Ej:
["cfd_01J8Z3K4M5N6P7Q8R9S0T1U2V4"]button_labelstringopcional
Texto del botón de pago (hasta 30). Sin enviar = según la plantilla: Inscribirme, Comprar entrada, Donar o Pagar.Ej:
Inscribirmesuccess_messagestringopcional
Mensaje que ve quien paga al terminar (hasta 500).
success_button_labelstringopcional
Botón al terminar (hasta 40). Va junto con success_button_url.Ej:
Unirme al gruposuccess_button_urlstringopcional
Enlace del botón al terminar (http/https): grupo de WhatsApp, Zoom, Drive…Ej:
https://chat.whatsapp.com/AbCdEf123Language
Credentials
Header
Authorization
Secret key de developer · HTTP directo; SDK oficial → /sdks
Fetch Request
$ # Node 18+ fetch · SDK oficial: npm i @kuti-pe/node
const response = await fetch("https://api.kuti.pe/v1/payment-links/plink_01J8Z3K4M5N6P7Q8R9S0T1U2V3", {
method: "PUT",
headers: {
"Authorization": "Bearer kuti_live_…",
"Content-Type": "application/json"
},
body: JSON.stringify({
"title": "Taller de Excel — sábado 10am",
"template": "COURSE",
"pricing": "FIXED",
"amount": "100.00",
"payment_method_types": [
"INTEROPERABLE_QR",
"BANK_TRANSFER"
],
"customer_field_ids": [
"cfd_01J8Z3K4M5N6P7Q8R9S0T1U2V4"
],
"button_label": "Inscribirme",
"success_message": "¡Listo! Te esperamos el sábado a las 10am.",
"success_button_label": "Unirme al grupo",
"success_button_url": "https://chat.whatsapp.com/AbCdEf123",
"slug": "excel-sabado"
})
});
const data = await response.json();
console.log(data);HTTP directo · este endpoint aún no está en el SDK v1 → /sdks
Response
Elige un ejemplo de respuesta:
application/json
200OK
{
"success": true,
"message": "Payment link updated",
"data": {
"id": "plink_01J8Z3K4M5N6P7Q8R9S0T1U2V3",
"merchant_id": "mer_01J8Z3K4M5N6P7Q8R9S0T1U2V3",
"livemode": true,
"slug": "excel-sabado",
"url": "https://pay.kuti.pe/l/excel-sabado",
"title": "Taller de Excel — sábado 10am",
"description": "Tablas dinámicas y gráficos. Incluye certificado.",
"image_url": null,
"template": "COURSE",
"pricing": "FIXED",
"currency": "PEN",
"amount": "100.00",
"min_amount": null,
"max_amount": null,
"suggested_amounts": [],
"payment_method_types": [
"INTEROPERABLE_QR",
"BANK_TRANSFER"
],
"category_id": null,
"status": "ACTIVE",
"expires_at": null,
"customer_fields": [
{
"id": "cfd_01J8Z3K4M5N6P7Q8R9S0T1U2V4",
"key": "codigo_alumno",
"label": "Código de alumno",
"type": "TEXT",
"options": [],
"required": true,
"help_text": null
}
],
"button_label": "Inscribirme",
"success_message": "¡Listo! Te esperamos el sábado a las 10am.",
"success_button_label": "Unirme al grupo",
"success_button_url": "https://chat.whatsapp.com/AbCdEf123",
"payments_count": 14,
"checkouts_count": 19,
"views_count": 132,
"amount_collected": "1680.00",
"created_at": "2026-09-24T15:02:11.000Z",
"updated_at": "2026-09-25T09:40:03.000Z"
}
}