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

# Tokenizar cuentas Nequi y Daviplata

> Vincula cuentas de Nequi y Daviplata para habilitar débitos automáticos.

## Tokenizar Nequi y Daviplata

Este caso de uso te permite capturar y tokenizar cuentas bancarias de Nequi y Daviplata de tus clientes para posteriormente realizar débitos automáticos. Cada proveedor tiene un flujo de validación diferente.

<Warning>
  El parámetro `authorization` debe ser `true`. Sin esto, la cuenta se crea pero el usuario nunca recibe la solicitud de enrolamiento en su billetera y no podrás realizar cargos.
</Warning>

### Flujo con Nequi

<Steps>
  <Step title="Crear un cliente">
    Registra al cliente en nuestra plataforma. Utiliza el endpoint [Crear un cliente](../customers/create) con los datos personales del titular de la cuenta Nequi.
  </Step>

  <Step title="Crear una cuenta Nequi">
    Registra la cuenta bancaria del cliente seleccionando el banco `Nequi`. Utiliza el endpoint [Crear una cuenta](../accounts/create) con:

    * `bank_id`: `9957817d-239b-4032-8dca-bc508a76579c`
    * `subtype`: `ELECTRONIC_DEPOSIT`
    * `authorization`: `true`
    * `account_number`: Número de celular registrado en Nequi
  </Step>

  <Step title="Mostrar instrucciones al cliente">
    Nequi requiere que el cliente complete el proceso de vinculación desde la aplicación del banco. Redirige al cliente a la aplicación de Nequi para que autorice el débito automático.
  </Step>

  <Step title="Validar la cuenta">
    Valida la cuenta usando el endpoint [Validar cuenta](../accounts/validate). Para Nequi no se requiere OTP, para Daviplata envía el código OTP recibido por SMS.
  </Step>

  <Step title="Usar la cuenta para débitos">
    Con la cuenta tokenizada y activa, puedes usarla para débitos automáticos usando el endpoint [Crear cargo](../charges/create) con:

    * `customer_id`: ID del cliente
    * `account_id`: ID de la cuenta validada
    * `amount`: Monto a debitar
  </Step>
</Steps>

### Flujo con Daviplata

<Steps>
  <Step title="Crear un cliente">
    Registra al cliente en nuestra plataforma. Utiliza el endpoint [Crear un cliente](../customers/create) con los datos personales del titular de la cuenta Daviplata.
  </Step>

  <Step title="Crear una cuenta Daviplata">
    Registra la cuenta bancaria del cliente seleccionando el banco `Daviplata`. Utiliza el endpoint [Crear una cuenta](../accounts/create) con:

    * `bank_id`: `9957817d-26b5-456d-bc49-4a8ba1bc021b`
    * `subtype`: `ELECTRONIC_DEPOSIT`
    * `authorization`: `true`
    * `account_number`: Número de celular registrado en Daviplata
  </Step>

  <Step title="Solicitar OTP al cliente">
    Daviplata requiere validación mediante código OTP. Solicita al cliente que ingrese el código OTP recibido por SMS.
  </Step>

  <Step title="Validar la cuenta con OTP">
    Valida la cuenta usando el endpoint [Validar cuenta](../accounts/validate) enviando el código OTP recibido por SMS.
  </Step>

  <Step title="Usar la cuenta para débitos">
    Con la cuenta tokenizada y activa, puedes usarla para débitos automáticos usando el endpoint [Crear cargo](../charges/create) con:

    * `customer_id`: ID del cliente
    * `account_id`: ID de la cuenta validada
    * `amount`: Monto a debitar
  </Step>
</Steps>

## Estados de la cuenta

| Estado       | Descripción                                                |
| ------------ | ---------------------------------------------------------- |
| `PENDING`    | Cuenta creada, pendiente de validación                     |
| `VALIDATING` | Proceso de validación en progreso (para Daviplata con OTP) |
| `ACTIVE`     | Cuenta validada y lista para débitos                       |
| `REJECTED`   | La validación fue rechazada                                |
| `INACTIVE`   | Cuenta desactivada                                         |

## Webhooks relevantes

* [Webhook de cuentas](../webhooks/accounts): Notifica cambios en el estado de la cuenta
* [Webhook de cargos](../webhooks/charges): Notifica débitos realizados
