# API de Débito Directo de Belvo

Nuestra infraestructura de pagos tiene como objetivo facilitar, acelerar y modular el movimiento de dinero entre empresas y personas.

Version: 1.0.0

## Servers

```
https://api.sandbox.directdebit.belvo.com
```

## Security

### ApiKeyAuth

Type: apiKey
In: header
Name: api-key-id

### ApiKeySecret

Type: apiKey
In: header
Name: api-key-secret

## Download OpenAPI description

[API de Débito Directo de Belvo](https://developers.belvo.com/_bundle/@l10n/es/apis/BelvoPaymentsMexico.yaml)

## Institutions (Direct Debit Mexico)

Utilice el recurso de Instituciones para: listar todas las instituciones a las que puede realizar pagos y desde las cuales puede recibir pagos.

### Enumera todas las instituciones.

 - [GET /institutions](https://developers.belvo.com/es/apis/belvopaymentsmexico/institutions-(direct-debit-mexico)/listdirectdebitinstitutions.md): Enumera todas las instituciones disponibles.

## Customers (Direct Debit Mexico)

Un Cliente es el usuario final, ya sea un individuo o una empresa, que posee la cuenta bancaria involucrada en una operación de débito o pago. Belvo Direct Debit almacena la información esencial de este Cliente para simplificar y reutilizarla en múltiples métodos de pago y objetivos de pago.

### Crear un cliente

 - [POST /customers](https://developers.belvo.com/es/apis/belvopaymentsmexico/customers-(direct-debit-mexico)/createdirectdebitcustomer.md): Crear un nuevo cliente de Débito Directo

### Listar todos los clientes

 - [GET /customers/](https://developers.belvo.com/es/apis/belvopaymentsmexico/customers-(direct-debit-mexico)/listdirectdebitcustomers.md): Enumere todos los clientes de Débito Directo asociados con su cuenta.

### Actualizar un cliente

 - [POST /customers/{customerId}](https://developers.belvo.com/es/apis/belvopaymentsmexico/customers-(direct-debit-mexico)/updatedirectdebitcustomer.md): Actualizar un cliente de débito directo existente

### Obtener los detalles de un cliente

 - [GET /customers/{customerId}](https://developers.belvo.com/es/apis/belvopaymentsmexico/customers-(direct-debit-mexico)/detaildirectdebitcustomer.md): Obtener los detalles sobre un cliente específico de débito directo.

## Payment Methods (Direct Debit Mexico)

Un Método de Pago contiene los detalles de la cuenta bancaria de origen de la cual se debitarán los fondos.

### Crear un método de pago

 - [POST /payment_methods/bank_accounts](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-methods-(direct-debit-mexico)/createdirectdebitpaymentmethod.md): Crear un nuevo método de pago para un cliente

### Enumera todos los métodos de pago.

 - [GET /payment_methods](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-methods-(direct-debit-mexico)/listdirectdebitpaymentmethods.md): Enumere todos los métodos de pago asociados con su cuenta.

### Obtener los detalles de un método de pago

 - [GET /payment_methods/{paymentMethodId}](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-methods-(direct-debit-mexico)/detaildirectdebitpaymentmethod.md): Obtén los detalles sobre un método de pago específico.

### Desactivar un método de pago

 - [POST /payment_methods/{paymentMethodId}/deactivate](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-methods-(direct-debit-mexico)/deactivatedirectdebitpaymentmethod.md): Desactivar un método de pago específico.

> 📘 Información
>
> Solo puedes desactivar un método de pago cuando el status está en el estado active y no hay solicitudes de pago pendientes (paymentRequest.status = processing).

## Payment Requests (Direct Debit Mexico)

Una Solicitud de Pago es la transacción real que deseas ejecutar para debitar fondos de una cuenta. Cada Solicitud de Pago debe estar asociada con un Método de Pago creado previamente. Para cada nueva transacción que desees realizar, necesitas crear una nueva Solicitud de Pago.

### Crear una solicitud de pago

 - [POST /payment_requests](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-requests-(direct-debit-mexico)/createdirectdebitpaymentrequest.md): Crear una nueva solicitud de pago para un método de pago existente.

> 📘 Claves de Idempotencia
>
> Este método admite claves de idempotencia.
>
> Si envías una solicitud con una Idempotency-Key mientras una solicitud anterior con esa misma
> clave aún está siendo procesada, devolvemos un 409 Conflict. Reintenta con la misma clave:
> generar una nueva crearía una segunda solicitud de pago.

### Enumere todas las solicitudes de pago.

 - [GET /payment_requests](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-requests-(direct-debit-mexico)/listdirectdebitpaymentrequests.md): Enumere todas las solicitudes de pago asociadas con su cuenta.

### Obtener los detalles de una solicitud de pago

 - [GET /payment_requests/{paymentRequestId}](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-requests-(direct-debit-mexico)/detaildirectdebitpaymentrequest.md): Obtén los detalles sobre una solicitud de pago específica.

### Cancelar una solicitud de pago

 - [POST /payment_requests/{paymentRequestId}/cancel](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-requests-(direct-debit-mexico)/canceldirectdebitpaymentrequest.md): Cancelar una solicitud de pago.

> 📘 Información
>
> Solo puedes cancelar una solicitud de pago cuando el status está en el estado initial.

## Movements (Direct Debit Mexico)

Utiliza el recurso Movements para listar todos los Movements de la cuenta (transacciones que ocurren dentro de tu cuenta bancaria).

### Obtén los movimientos de tu cuenta

 - [GET /account_movements](https://developers.belvo.com/es/apis/belvopaymentsmexico/movements-(direct-debit-mexico)/listdirectdebitaccountmovements.md): Obtén un estado de los movimientos que han ocurrido dentro de tu cuenta.

## Payment Consents (Direct Debit Mexico)

Un Consentimiento en Débito Directo es una prueba de su cliente de que ha confirmado que se le debitarán fondos de su cuenta (Método de Pago). Esta prueba se compone de fotos de su identificación, una selfie y un contrato firmado.

### Crear un Consentimiento

 - [POST /consents](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-consents-(direct-debit-mexico)/createconsent.md): Cree el Consentimiento inicial para un Método de Pago. Una vez que cree un Consentimiento, puede cargar documentos de respaldo que sirvan como consentimiento de su cliente para debitar su cuenta bancaria utilizando el endpoint Upload Consent Files.

### Lista todos los Consents

 - [GET /consents](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-consents-(direct-debit-mexico)/listallconsents.md): Enumere todos los Consentimientos que ha creado para sus Métodos de Pago.

### Obtener los Detalles de un Consentimiento

 - [GET /consents/{consentId}](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-consents-(direct-debit-mexico)/getconsentdetails.md): Obtén los detalles de un consentimiento específico.

### Subir archivos de consentimiento

 - [POST /consents/{consentId}/files](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-consents-(direct-debit-mexico)/uploadconsentfiles.md): Sube archivos que sirvan como consentimiento de tu cliente para debitar su cuenta bancaria. Debes subir todos los archivos requeridos para un Consentimiento (escaneos del anverso y reverso del documento de identidad, una selfie del usuario sosteniendo el documento de identidad y un contrato firmado). Cada archivo no puede ser mayor de 20MB.

### Obtener los archivos de un Consentimiento

 - [GET /consents/{consentId}/files](https://developers.belvo.com/es/apis/belvopaymentsmexico/payment-consents-(direct-debit-mexico)/listconsentfiles.md): Enumere todos los archivos que se han subido para un Consent específico.

## Loans (Direct Debit Mexico)

Utilice el recurso de Loans para registrar y rastrear instantáneas del portafolio de préstamos para clientes con débito directo. Cada instantánea captura el estado actual de la deuda de un cliente.

Cada instantánea se identifica de manera única por `merchantCustomerId` + `targetCollectionDate`, donde `targetCollectionDate` es la fecha en la que Belvo intentará cobrar el pago, establecida automáticamente ya sea el día en que se realizó la solicitud o el siguiente día hábil en México. Solo puede realizar un POST de una instantánea por cliente por día; una solicitud duplicada en el mismo día calendario devuelve un `409 Conflict`.

### Crear una instantánea de préstamo

 - [POST /loans](https://developers.belvo.com/es/apis/belvopaymentsmexico/loans-(direct-debit-mexico)/createdirectdebitloan.md): Crear una nueva instantánea de préstamo para un cliente. Cada solicitud exitosa registra la instantánea con una fecha objetivo de cobro, establecida para el mismo día o el siguiente día hábil en México, y Belvo intenta realizar el cobro en esa fecha. La respuesta devuelve el id de la instantánea recién creada.

El monto recaudado no se toma de esta solicitud. Se calcula según la estrategia de cobro que Belvo aplica a tus préstamos, basada en el totalBalance que envías, y un solo préstamo puede resultar en más de un intento de cobro. Cuando un intento de cobro se completa, Belvo envía una notificación webhook con el resultado.

### Enumere todas las instantáneas de préstamos.

 - [GET /loans](https://developers.belvo.com/es/apis/belvopaymentsmexico/loans-(direct-debit-mexico)/listdirectdebitloans.md): Enumere y filtre las instantáneas del historial de préstamos asociadas con su cuenta.

### Obtener los detalles de una instantánea de préstamo

 - [GET /loans/{id}](https://developers.belvo.com/es/apis/belvopaymentsmexico/loans-(direct-debit-mexico)/detaildirectdebitloan.md): Obtén los detalles de una instantánea específica del historial de préstamos.

