Cobros recurrentes

Irreversible

Qué cubre#

Cuatro herramientas de lectura sobre los planes de cobro recurrente y sus suscriptores, y una sensible que pausa, reactiva o elimina un suscriptor. Esa última afecta cobros futuros: pedí confirmación humana antes de ejecutarla.

Herramientas#

Listar planes de cobro recurrente

Sólo lectura

tilopay_recurring_list_plans

Lista los planes de cobro recurrente configurados en Tilopay.

Operación del API: POST /api/v1/getPlansRepeat

Parámetros

Sin parámetros.

Devuelve

{ result }

Respuesta cruda del API de Tilopay bajo la llave `result`.

Detalle de un plan recurrente

Sólo lectura

tilopay_recurring_get_plan

Obtiene el detalle de un plan de cobro recurrente por su ID.

Operación del API: POST /api/v1/getPlanRepeat

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del plan

Devuelve

{ result }

Respuesta cruda del API de Tilopay bajo la llave `result`.

Detalle de un suscriptor

Sólo lectura

tilopay_recurring_get_subscriber

Obtiene el detalle de un suscriptor de un plan recurrente por su ID.

Operación del API: POST /api/v1/getSuscriptorRepeat

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del suscriptor

Devuelve

{ result }

Respuesta cruda del API de Tilopay bajo la llave `result`.

Pagos de un suscriptor

Sólo lectura

tilopay_recurring_subscriber_payments

Lista los pagos realizados por un suscriptor recurrente.

Operación del API: POST /api/v1/getSuscriptorPayments

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del suscriptor

Devuelve

{ result }

Respuesta cruda del API de Tilopay bajo la llave `result`.

Cobros recurrentes fallidos

Sólo lectura

tilopay_recurring_failed_payments

Lista los últimos cobros recurrentes que fallaron (plan, suscriptor, monto, fecha y motivo). Una sola llamada basta.

Operación del API: POST /api/v1/getSuscriptorPayments

Parámetros

ParámetroTipoObligatorioDescripción
limitintegerMáximo de cobros (por defecto 10)
startDatestringDesde, "YYYY-MM-DD HH:mm:ss"
endDatestringHasta, "YYYY-MM-DD HH:mm:ss"

Devuelve

{ total, source, failures[] }

failures = cobros recurrentes rechazados, con plan, suscriptor, monto, moneda y motivo del rechazo; total = cuántos se encontraron; source = la ruta del API de la que se obtuvieron. Combina la consulta de planes, suscriptores y sus pagos.

Pausar, reactivar o eliminar un suscriptor

Sensible

tilopay_recurring_manage_subscriber

Pausa, reactiva o elimina un suscriptor de un plan recurrente en Tilopay. Operación sensible: afecta cobros futuros y requiere segundo factor. Llámela primero sin `confirmation_code`: se envía un código de 6 dígitos al correo del comercio y la respuesta trae `requires_confirmation`. Repita la misma llamada agregando `confirmation_code`.

Operación del API: POST /api/v1/pauseSuscriptorRepeat, /reactiveSuscriptorRepeat o /deleteSuscriptorRepeat

Parámetros

ParámetroTipoObligatorioDescripción
idSubscriberstringID del suscriptor
actionstring (pause | reactivate | delete)Acción a realizar
confirmation_codestringCódigo de 6 dígitos recibido por correo para autorizar la operación

Devuelve

{ result }

Respuesta cruda del endpoint correspondiente a la acción: pause, reactivate o delete.

Crear plan de suscripción

Escritura

tilopay_recurring_create_plan

Crea un plan de cobro recurrente (suscripción) en Tilopay con su título, moneda, frecuencia y modalidades (nombre y monto). Devuelve el ID del plan creado; luego use tilopay_recurring_subscription_url para obtener el enlace con el que los clientes se suscriben.

Operación del API: POST /api/v1/createPlanRepeat

Parámetros

ParámetroTipoObligatorioDescripción
titlestringTítulo del plan
modalityarray<object>Modalidades del plan (al menos una): nombre y monto por ciclo
frequencystring (diario | semanal | mensual | anual | quincenal | bimestral | trimestral | cuatrimestral | semestral)Frecuencia de cobro
descriptionstringDescripción del plan
currencystringMoneda ISO 4217, ej. USD o CRC. Si se omite se usa la del país del comercio.
first_amountnumberMonto del pago inicial (0 si no hay)
trial_daysintegerDías de prueba gratis (0 si no hay prueba)
attemptsintegerReintentos ante un cobro fallido (1 por defecto)
end_atstringFecha de fin del plan en formato DD-MM-YYYY (opcional)
thanks_urlstringURL de agradecimiento tras suscribirse (opcional)
webhook_subscribestringWebhook al suscribirse un cliente (opcional)
webhook_paymentstringWebhook al cobrarse un pago (opcional)
webhook_rejectedstringWebhook al rechazarse un cobro (opcional)
webhook_unsubscribestringWebhook al cancelarse una suscripción (opcional)
webhook_reactivestringWebhook al reactivarse una suscripción (opcional)

Devuelve

{ result, currency, frequency }

result = respuesta del API con el plan creado; currency y frequency = la moneda y la frecuencia con la que quedó el plan.

Editar plan de suscripción

Escritura

tilopay_recurring_edit_plan

Modifica un plan de cobro recurrente existente: título, descripción, frecuencia, moneda, monto por ciclo (modality), pago inicial, prueba gratis, reintentos, estado o fecha de fin. Consulte primero tilopay_recurring_get_plan para conocer los valores actuales.

Operación del API: POST /api/v1/editPlanRepeat

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del plan
titlestringTítulo del plan
frequencystring (diario | semanal | mensual | anual | quincenal | bimestral | trimestral | cuatrimestral | semestral)Frecuencia de cobro
modalityarray<object>Modalidades con su monto por ciclo; envíelas cuando cambie el precio del plan
currencystringMoneda ISO 4217
descriptionstringDescripción del plan
first_amountnumberMonto del pago inicial
trial_daysintegerDías de prueba gratis
attemptsintegerReintentos ante cobro fallido
statusstring (inactive | active | closed_to_new)Estado: inactive (inactivo), active (activo) o closed_to_new (activo sin registros nuevos)
end_atstringFecha de fin del plan en formato DD-MM-YYYY (opcional)
thanks_urlstringURL de agradecimiento
webhook_subscribestringWebhook al suscribirse
webhook_paymentstringWebhook al cobrarse un pago
webhook_rejectedstringWebhook al rechazarse un cobro
webhook_unsubscribestringWebhook al cancelarse
webhook_reactivestringWebhook al reactivarse

Devuelve

{ result }

result = respuesta del API al editar el plan. Los campos que no se envían se conservan.

Eliminar plan de suscripción

Sensible

tilopay_recurring_delete_plan

Elimina un plan de cobro recurrente en Tilopay. Afecta los cobros futuros del plan: confirme con el comercio antes de ejecutarla.

Operación del API: POST /api/v1/deletePlanRepeat

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del plan

Devuelve

{ result }

result = respuesta del API al eliminar el plan. Los suscriptores del plan dejan de cobrarse.

Enlace de suscripción a un plan

Sólo lectura

tilopay_recurring_subscription_url

Devuelve el enlace con el que un cliente se registra en un plan recurrente (o lo renueva si el correo ya está suscrito). Entregue la URL completa, sin recortarla.

Operación del API: POST /api/v1/recurrentUrl

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del plan
emailstringCorreo del cliente; si ya está suscrito devuelve el enlace de renovación

Devuelve

{ url, result }

url = enlace de suscripción al plan, para compartir con el cliente; result = respuesta del API tal cual.

Editar suscriptor de un plan

Sensible

tilopay_recurring_edit_subscriber

Cambia el estado de un suscriptor (activo, pausado o eliminado) y/o su fecha de expiración. Afecta cobros futuros: confirme con el comercio antes de ejecutarla.

Operación del API: POST /api/v1/editSuscriptorRepeat

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del suscriptor
statusstring (active | paused | deleted)Nuevo estado del suscriptor
expirestringFecha de expiración del plan para ese suscriptor en formato YYYY-MM-DD

Devuelve

{ result }

result = respuesta del API al editar los datos del suscriptor (correo, teléfono, monto o fecha de vencimiento, según el plan).

Crear cupón de descuento

Escritura

tilopay_recurring_create_coupon

Crea un cupón de descuento para un plan de suscripción: porcentaje o monto fijo, fecha de vencimiento, correos permitidos y límites de uso.

Operación del API: POST /api/v1/createCoupon

Parámetros

ParámetroTipoObligatorioDescripción
planIdstringID del plan recurrente
discount_typestring (percentage | fixed)Tipo de descuento: percentage (porcentaje) o fixed (monto fijo)
discountnumberValor del descuento
expirestringFecha de vencimiento del cupón en formato YYYY-MM-DD
allow_existing_usersbooleantrue si también lo pueden usar clientes ya registrados (false = solo nuevos)
emailsarray<string>Correos autorizados; si se omite, cualquier correo puede usarlo
usageintegerCantidad total de usos
renewsintegerRenovaciones válidas con el cupón
renews_by_userintegerUsos por un mismo cliente

Devuelve

{ result }

result = respuesta del API con el cupón de descuento creado para el plan.

Cupones de un plan

Sólo lectura

tilopay_recurring_list_coupons

Lista los cupones de descuento asociados a un plan de suscripción.

Operación del API: POST /api/v1/getRepeatCoupons

Parámetros

ParámetroTipoObligatorioDescripción
planIdstringID del plan recurrente

Devuelve

{ result }

result = cupones del plan tal cual los devuelve el API.

Detalle de un cupón

Sólo lectura

tilopay_recurring_get_coupon

Obtiene el detalle de un cupón de descuento por su ID.

Operación del API: POST /api/v1/getCoupon

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del cupón

Devuelve

{ result }

result = detalle de un cupón tal cual lo devuelve el API.

Eliminar un cupón

Sensible

tilopay_recurring_delete_coupon

Elimina un cupón de descuento de un plan de suscripción.

Operación del API: POST /api/v1/deleteCoupon

Parámetros

ParámetroTipoObligatorioDescripción
idstringID del cupón

Devuelve

{ result }

result = respuesta del API al eliminar el cupón.

Iniciar paso a paso de un plan de suscripción

Escritura

tilopay_recurring_plan_wizard_start

Inicia el paso a paso guiado para crear (mode=create) o editar (mode=edit con plan_id) un plan de suscripción. Devuelve la primera pregunta pendiente: entréguela al comercio tal cual y pase su respuesta a tilopay_recurring_plan_wizard_answer. Úselo en vez de tilopay_recurring_create_plan cuando falte algún dato.

Parámetros

ParámetroTipoObligatorioDescripción
modestring (create | edit)create para un plan nuevo, edit para modificar uno existente
plan_idstringID del plan (obligatorio en mode=edit)
titlestringTítulo, si el comercio ya lo dijo
frequencystring (diario | semanal | quincenal | mensual | bimestral | trimestral | cuatrimestral | semestral | anual)Frecuencia, si el comercio ya la dijo
amountnumberMonto por ciclo, si el comercio ya lo dijo
currencystringMoneda ISO si el comercio la indicó con símbolo o nombre ($ o dólares = USD, ₡ o colones = CRC)
descriptionstringDescripción, si ya la dijo

Devuelve

{ draft }

draft = borrador del plan en proceso, con lo que ya se respondió y el siguiente paso pendiente. No crea nada en Tilopay hasta confirmar.

Responder un paso del plan de suscripción

Escritura

tilopay_recurring_plan_wizard_answer

Guarda la respuesta del comercio al paso actual del plan de suscripción y devuelve la siguiente pregunta o el resumen para confirmar. Entregue el texto devuelto tal cual, sin agregar preguntas propias.

Parámetros

ParámetroTipoObligatorioDescripción
answerstringLo que respondió el comercio, tal cual

Devuelve

{ draft }

draft = el borrador actualizado con la respuesta del paso y el siguiente paso pendiente.

Confirmar el plan de suscripción

Escritura

tilopay_recurring_plan_wizard_confirm

Crea o edita el plan de suscripción con los datos del paso a paso, después de que el comercio dijo sí al resumen. Al crear devuelve además el enlace de suscripción: entréguelo completo, sin recortarlo.

Operación del API: POST /api/v1/createPlanRepeat

Parámetros

Sin parámetros.

Devuelve

{ plan_id, subscription_url }

Crea el plan con lo que se armó paso a paso: plan_id = id del plan creado; subscription_url = enlace de suscripción para compartir.

Cancelar el paso a paso del plan

Escritura

tilopay_recurring_plan_wizard_cancel

Descarta el plan de suscripción que estaba en proceso sin crear ni cambiar nada.

Parámetros

Sin parámetros.

Devuelve

Descarta el borrador del plan en proceso. No crea ni cambia nada en Tilopay; devuelve sólo la confirmación en texto.

Poner al día un suscriptor

Escritura

tilopay_recurring_mark_settled

Marca al suscriptor como al día en su plan: lo deja activo y corre su fecha de expiración al siguiente ciclo. Úsala cuando el cobro pendiente ya se pagó por otro medio. Si el pago se hizo con el enlace de tilopay_recurring_settle_link, no hace falta: se actualiza solo. Confirme con el comercio antes de ejecutarla.

Operación del API: POST /api/v1/editSuscriptorRepeat

Parámetros

ParámetroTipoObligatorioDescripción
subscriber_idstringID del suscriptor
plan_idstringID del plan de suscripción
frequencystring (diario | semanal | quincenal | mensual | bimestral | trimestral | cuatrimestral | semestral | anual)Frecuencia del plan; si se omite se consulta al plan o se asume mensual
expirestringNueva fecha de expiración YYYY-MM-DD; si se omite se calcula el siguiente ciclo

Devuelve

{ ok, expire, frequency }

Corre la fecha de vencimiento del suscriptor según la frecuencia del plan, para dejarlo al día después de recuperar un cobro fallido. expire = la nueva fecha de vencimiento.

Última verificación: 2026-09-02 · Responsable: equipo-integraciones

Ver como Markdown crudo