---
title: "Cambiar el ciclo de la próxima renovación (roles owner/admin)"
method: PATCH
path: "/pagos/suscripcion"
tags: ["pagos"]
---

# Cambiar el ciclo de la próxima renovación (roles owner/admin)

`PATCH /pagos/suscripcion`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/pagos/suscripcion`
- Auth: HTTP bearer

Mensual o anual. No cobra nada ahora: el periodo pagado se respeta y la renovación cobra el ciclo nuevo en su fecha (de anual a mensual, al vencer el año). Solo renovaciones de Payphone activas o en reintento.

## Request body

- object
  - `ciclo` 'mensual' | 'anual', required

## Response `200`

Renovación con el ciclo nuevo

- object, nullable
  - `plan` string
  - `estado` 'pendiente' | 'activa' | 'morosa' | 'revision' | 'cancelada': `revision`: el último cobro quedó con resultado desconocido y no se reintenta hasta resolverlo. `cancelada` solo llega (Payphone) cuando la renovación se puede reactivar: plan vigente y tarjeta guardada.
  - `montoCentavos` integer: Total con IVA de cada renovación
  - `proximoCobroAt` string, date, nullable
  - `proveedor` 'payphone' | 'dlocal'
  - `ciclo` 'mensual' | 'anual'
  - `intentosCobro` integer: Cobros rechazados por el banco en el periodo en curso
  - `proximoIntentoAt` string, date, nullable
  - `metodoPago` object, nullable
    - `marca` string, nullable: `cardBrand` de Payphone
    - `tipo` 'credito' | 'debito' | 'null', nullable
    - `ultimosDigitos` string, nullable: Payphone los entrega enmascarados; pueden ser 2 o 4 dígitos
    - `agregadaAt` string, date-time

## Other responses

- `400`: Ciclo inválido
- `401`: Token/key ausente, inválido o expirado
- `403`: Rol insuficiente o acceso denegado
- `404`: No hay una renovación automática activa

---

[API](https://skmtc.dev/contadeo/apis/api-de-contadeo.md) · [All operations](https://skmtc.dev/contadeo/apis/api-de-contadeo/llms.txt) · [OpenAPI document](https://skmtc.dev/contadeo/apis/api-de-contadeo/revisions/461bbb9a74ce?raw)
