> ## 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.

# Introducción

> Genera solicitudes de cobro directas a Nequi y DaviPlata.

## ¿Qué es Request to Pay?

Request to Pay es una solicitud de cobro que se envía directamente a la billetera digital del usuario (Nequi o DaviPlata). El usuario recibe una notificación en su app y solo debe **aceptar o rechazar** el monto.

<Note>
  A diferencia de un [Payment](/client/payments/index) (donde el cliente abre un link y elige cómo pagar), aquí la notificación llega directamente a la app del usuario.
</Note>

## Ventajas

* El usuario no necesita ingresar montos manualmente
* Se elimina el error humano en transferencias
* La transacción queda registrada de forma inmediata
* Permite cobros automatizados desde WhatsApp o portales de pago

## Flujo DaviPlata

```mermaid theme={null}
sequenceDiagram
    participant Tu App
    participant OnePay API
    participant DaviPlata
    participant Usuario

    Tu App->>OnePay API: POST /request-to-pay
    OnePay API->>DaviPlata: Solicitud de cobro
    DaviPlata->>Usuario: Notificación en la app
    Usuario->>DaviPlata: Acepta el cobro
    DaviPlata->>OnePay API: Confirmación
    OnePay API->>Tu App: Webhook (aprobado)
```

1. OnePay genera la solicitud con el monto, referencia y número DaviPlata
2. DaviPlata envía la notificación al usuario
3. El usuario abre la app, ve el detalle y acepta o rechaza
4. Al aceptar, el dinero se transfiere automáticamente

## Flujo Nequi

```mermaid theme={null}
sequenceDiagram
    participant Tu App
    participant OnePay API
    participant Nequi
    participant Usuario

    Tu App->>OnePay API: POST /request-to-pay
    OnePay API->>Nequi: Solicitud de cobro
    Nequi->>Usuario: Notificación en la app
    Usuario->>Nequi: Acepta el cobro
    Nequi->>OnePay API: Confirmación
    OnePay API->>Tu App: Webhook (aprobado)
```

1. OnePay envía la solicitud al número asociado a Nequi
2. Nequi notifica al usuario dentro de la app
3. El usuario revisa el monto y acepta
4. Nequi ejecuta el débito y notifica a OnePay

## Ejemplo rápido

```bash theme={null}
curl https://api.onepay.la/v1/request-to-pay \
  -X POST \
  -H "Authorization: Bearer sk_test_xxx" \
  -H "Content-Type: application/json" \
  -H "x-idempotency: rtp-001" \
  -d '{
    "amount": 50000,
    "phone": "+573201112233",
    "description": "Pago servicio mensual"
  }'
```

## Endpoints

| Método | Endpoint                       | Descripción              |
| ------ | ------------------------------ | ------------------------ |
| `POST` | [/request-to-pay](create)      | Crear solicitud de pago  |
| `GET`  | [/request-to-pay](list)        | Listar solicitudes       |
| `GET`  | [/request-to-pay/{id}](detail) | Detalle de una solicitud |
