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

# Introducción

> La API de Dodo Payments proporciona endpoints completos para el procesamiento de pagos, la gestión de suscripciones y la entrega de productos digitales. Nuestra API RESTful sigue los estándares del sector con respuestas detalladas para todas las operaciones.

<Card title="SDKs & Libraries" icon="code" href="/developer-resources/dodo-payments-sdks">
  Acelera tu integración utilizando los SDK oficiales para <strong>TypeScript</strong>, <strong>Python</strong>, <strong>Go</strong>, <strong>PHP</strong>, <strong>Java</strong>, <strong>Kotlin</strong>, <strong>C#</strong>, <strong>Ruby</strong> y <strong>React Native</strong>. Estas bibliotecas simplifican las solicitudes a la API, la autenticación y la gestión de errores, lo que te permite centrarte en crear excelentes experiencias de pago.
</Card>

## URLs de entorno

* **Modo de prueba**: [`https://test.dodopayments.com`](https://test.dodopayments.com)
* **Modo activo**: [`https://live.dodopayments.com`](https://live.dodopayments.com)

<Note>
  Obtén más información sobre [el modo de prueba frente al modo activo](/miscellaneous/test-mode-vs-live-mode).
</Note>

## Gestión y autenticación de API Keys

<Steps>
  <Step title="Access API Keys">
    Ve a **Developer → API Keys** en tu dashboard para gestionar tus claves.
  </Step>

  <Step title="Generate a New Key">
    Selecciona **Add API Key**, proporciona un nombre descriptivo y configura el acceso de escritura:

    * **Enable write access** (marcado): permisos completos de lectura y escritura para todas las operaciones de la API
    * **Enable write access** (sin marcar): acceso de solo lectura; únicamente puede obtener datos (pagos, suscripciones, clientes y productos). No puede crear ni modificar recursos.

    <Tip>
      Desmarca "Enable write access" para las integraciones con el dashboard, las herramientas de analítica y cualquier sistema que solo necesite consultar datos sin realizar cambios.
    </Tip>
  </Step>

  <Step title="Store Your Key Securely">
    Copia inmediatamente la clave generada y asegúrate de almacenarla de forma segura.
  </Step>

  <Step title="Authenticate Your API Requests">
    Utiliza tus API Keys para autenticar todas las solicitudes. Aplica el siguiente formato de autorización:

    ```bash theme={null}
    Authorization: Bearer YOUR_API_KEY
    ```

    <Warning>
      Nunca expongas tus API Keys secretas en código del lado del cliente ni en repositorios públicos.
    </Warning>
  </Step>
</Steps>

## Formato de respuesta

<CodeGroup>
  ```json Success Response theme={null}
  {
    "id": "pay_1234567890",
    "status": "succeeded",
    "amount": 2999,
    "currency": "USD",
    "created_at": "2024-01-15T10:30:00Z"
  }
  ```

  ```json Error Response theme={null}
  {
    "code": "INVALID_REQUEST",
    "message": "The request contains invalid parameters"
  }
  ```
</CodeGroup>

## Límites de solicitudes

Nuestra API utiliza un sistema de límites de solicitudes con dos ventanas y protección contra ráfagas. Los límites se aplican según tu método de autenticación y tu nivel empresarial.

### Límites predeterminados (nivel 0)

| Ventana                | Límite          |
| ---------------------- | --------------- |
| Por segundo (ráfaga)   | 40 solicitudes  |
| Por minuto (sostenido) | 240 solicitudes |

### Niveles empresariales

Hay límites de solicitudes más altos disponibles para empresas con mayores necesidades de API:

| Nivel                    | Ráfaga (por segundo) | Sostenido (por minuto) |
| ------------------------ | -------------------- | ---------------------- |
| Nivel 0 (predeterminado) | 40                   | 240                    |
| Nivel 1                  | 100                  | 1.000                  |
| Nivel 2                  | 500                  | 5.000                  |

<Tip>
  Contacta con soporte para actualizar tu empresa a un nivel de límite de solicitudes superior.
</Tip>

### Solicitudes no autenticadas

Las solicitudes sin headers de autenticación válidos tienen límites por dirección IP:

| Ventana                | Límite          |
| ---------------------- | --------------- |
| Por segundo (ráfaga)   | 20 solicitudes  |
| Por minuto (sostenido) | 100 solicitudes |

### Headers de límite de solicitudes

Supervisa tu uso con estos headers de respuesta:

* `X-RateLimit-Limit` - Número máximo de solicitudes permitidas
* `X-RateLimit-Remaining` - Solicitudes restantes en la ventana actual
* `X-RateLimit-Reset` - Momento en que se restablece el límite de solicitudes

<Note>
  Cuando superas los límites de solicitudes, la API devuelve una respuesta `429 Too Many Requests`. Implementa un backoff exponencial en tu lógica de reintentos.
</Note>

## Gestión de errores

Para gestionar los errores de forma eficaz, consulta las secciones *Códigos de error* y *Fallos de transacciones* para obtener instrucciones detalladas.

<CardGroup cols={2}>
  <Card title="Error Codes" icon="triangle-exclamation" href="/api-reference/error-codes">
    Consulta detalles completos sobre los errores y sus soluciones.
  </Card>

  <Card title="Transaction Failures" icon="circle-exclamation" href="/api-reference/transaction-failures">
    Conoce los problemas habituales de las transacciones y sus soluciones.
  </Card>
</CardGroup>

## Webhooks

Recibe notificaciones en tiempo real sobre los eventos de pago. Consulta nuestra [guía de Webhooks](/developer-resources/webhooks) para obtener instrucciones de configuración.

<Card title="Webhook Guide" icon="webhook" href="/developer-resources/webhooks">
  Configura Webhooks para recibir notificaciones en tiempo real y gestionar eventos.
</Card>

## Guías de desarrollo relacionadas

Explora nuestras guías completas para comprender cómo implementar funciones clave utilizando la API:

<CardGroup cols={2}>
  <Card title="One-time Payments Integration" icon="code-merge" href="/developer-resources/integration-guide">
    Aprende a integrar pagos únicos, sesiones de checkout y enlaces de pago en tu aplicación
  </Card>

  <Card title="Subscription Integration" icon="credit-card" href="/developer-resources/subscription-integration-guide">
    Guía completa para implementar suscripciones, gestionar planes y administrar eventos del ciclo de vida de las suscripciones
  </Card>

  <Card title="Usage-Based Billing" icon="arrow-trend-up" href="/developer-resources/usage-based-billing-guide">
    Configura medidores y eventos de uso para la facturación medida y los modelos de precios basados en el consumo
  </Card>

  <Card title="Webhooks" icon="box" href="/developer-resources/webhooks">
    Recibe notificaciones en tiempo real y automatiza flujos de trabajo con eventos de Webhooks
  </Card>

  <Card title="Checkout Sessions" icon="cart-shopping" href="/developer-resources/checkout-session">
    Crea experiencias de checkout alojadas y seguras con personalización completa y funciones avanzadas
  </Card>
</CardGroup>
