> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quentli.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Suscripciones con pagos definidos

> Implementa suscripciones con duración definida agregando los pagos en un paso posterior

Una de las formas más efectivas de implementar Quentli es cargando los adeudos de tus clientes a través de solicitudes de pago.

En Quentli existen dos tipos de suscripciones: las suscripciones con duración indefinida y las suscripciones con pagos definidos (duración definida).

En esta guía veremos un ejemplo de integración donde se crea una suscripción sin ninguna solicitud de pago (al menos al principio). Este caso de uso es útil cuando los importes de las solicitudes de pago son variables y no se conocen al momento de crear la suscripción.

<Tip>
  En Quentli una solicitud de pago es equivalente a un adeudo o factura en otras plataformas.
</Tip>

## Crea un cliente

El primer paso es crear un cliente, quien será el beneficiario de la suscripción.

```JSON POST /v1/customers theme={null}
{
    "input": {
        "name": "Alicia Pérez",
        "username": "12873",
        "email": "alicia1@ejemplo.com",
        "phoneNumber": "+528444191046"
    }
}
```

## Crea una suscripción

Una vez que tengas un cliente, lo que sigue es crear una suscripción para representar su acceso a un producto o servicio (por ejemplo, una licencia de software).

### Ejemplo de solicitud

```JSON POST /v1/subscriptions theme={null}
{
  "input": {
    "description": "Licencia estándar",
    "firstCollectionDate": "2025-01-15T21:00:00.000Z",
    "customerId": "cus_1234567890",
    "collectionMethod": "AUTOMATIC",
    "onlyAutomaticCollection": true
  }
}
```

<Note>
  Observa cómo en este ejemplo no proporcionamos el campo `items` o `invoices`. Esto significa que la suscripción se creará "vacía" y debemos crear las solicitudes de pago después.
</Note>

## Crea las solicitudes de pago

Ahora que tenemos una suscripción, podemos crear las solicitudes de pago que pertenecerán a ella. Para ello, debemos crear un objeto `invoices` con los siguientes campos:

* `customerId`: El ID del cliente previamente creado.
* `dueDate`: La fecha de programación de la solicitud de pago.
* `collectionMethod`: El método de cobranza de la solicitud de pago. [Revisa los métodos soportados](/manual/solicitudes-de-pago#metodos-de-cobranza)
* `subscriptionId`: El ID de la suscripción previamente creada.
* `items`: Un arreglo de items que representan los conceptos de pago a cobrar. Debes proporcionar al menos un item.

### Ejemplo de solicitud

```JSON POST /v1/invoices highlight={6-6} theme={null}
{
  "input": {
    "customerId": "cus_1234567890",
    "dueDate": "2025-06-15T06:00:00.000Z",
    "collectionMethod": "SEND_REMINDER",
    "subscriptionId": "sub_1234567890",
    "items": [
      {
        "concept": {
          "displayName": "Licencia POS",
          "amount": 95000,
          "currency": "MXN"
        },
        "quantity": 1
      }
    ]
  }
}
```

## ¿Qué sigue?

Dependiendo del método de cobranza y de la fecha de programación (`dueDate`) de la solicitud de pago, Quentli determinará la siguiente acción:

* Si el método de cobranza es `AUTOMATIC`, Quentli intentará cobrar el monto de la solicitud de pago cuando se cumpla la fecha de programación.
* Si el método de cobranza es `SEND_REMINDER`, Quentli enviará un recordatorio al cliente a través de los canales configurados cuando se cumpla la fecha de programación.
* Si el método de cobranza es `MANUAL`, Quentli no hará ninguna acción.
