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

# Autenticación y Seguridad

Para usar cualquier endpoint de la API de PayCode necesitas autenticarte primero. El proceso consiste en intercambiar tu API Key por un token de acceso temporal que deberás incluir en todas las peticiones siguientes.

## Cómo funciona

<Steps>
  <Step title="Obtén tu API Key">
    Tu API Key es un identificador único de 364 caracteres asignado a tu negocio. El equipo de PayCode te la proporciona al configurar tu cuenta.
  </Step>

  <Step title="Solicita un token de acceso">
    Envía tu API Key al endpoint de autenticación. El sistema te regresa un `access_token` que usarás en todas las peticiones siguientes.
  </Step>

  <Step title="Incluye el token en cada petición">
    Agrega el token en el header `Authorization` de cada llamada con el formato `Bearer {token}`.
  </Step>
</Steps>

## Endpoint de autenticación

**Método:** `GET` **Endpoint:** `/Api/v2/auth/login`

**Header requerido:**

| Header          | Valor      |
| --------------- | ---------- |
| `Authorization` | Tu API Key |

**Ejemplo de respuesta — 200 OK:**

```json theme={null}
{
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
  "token_type": "bearer",
  "expires_in": 3600
}
```

<Note>
  Guarda el valor de `access_token`. Lo necesitarás en todas las peticiones siguientes con el formato `Authorization: Bearer {access_token}`.
</Note>

## Vida del token

| Concepto                         | Tiempo                                        |
| -------------------------------- | --------------------------------------------- |
| Duración del `access_token`      | 1 hora                                        |
| Plazo para usar el refresh token | Hasta 72 horas después de que el token expira |

Cuando el token expira el sistema regresa un error `401 Token Expired`. En ese momento tienes dos opciones:

**Opción 1:  Generar un nuevo token** Vuelve a llamar al endpoint de autenticación con tu API Key. Es la opción más sencilla.

**Opción 2: Usar el refresh token** Si tu integración es automatizada puedes renovar el token sin necesidad de hacer login de nuevo.

<Note>
  Para integraciones automatizadas se recomienda implementar la renovación del token antes de que expire para evitar interrupciones en el servicio.
</Note>

<Note>
  El endpoint y el proceso del refresh token estarán disponibles próximamente.
</Note>

## Seguridad

<Warning>
  Tu API Key es confidencial, guárdala siempre en tu servidor, nunca en el código visible al usuario.
</Warning>

<Warning>
  Todos los endpoints de PayCode funcionan únicamente con HTTPS. Las peticiones por HTTP serán rechazadas.
</Warning>

## Rate limiting

El rate limiting define cuántas peticiones puede hacer tu integración a un endpoint en un periodo de tiempo determinado.

| Endpoint                                      | Límite                    |
| --------------------------------------------- | ------------------------- |
| `/Api/v2/transacciones/obtener_transacciones` | 120 peticiones por minuto |

<Note>
  El rate limiting aplica actualmente solo al endpoint de consulta de transacciones. Los demás endpoints no tienen límite definido.
</Note>

## Versiones de la API

PayCode mantiene múltiples versiones de la API activas para que puedas integrar con la que mejor se adapte a tu proyecto sin necesidad de migrar.

| Versión | Estado                                               |
| ------- | ---------------------------------------------------- |
| V2      | Activa (links de pago, pagos con tarjeta y webhooks) |
| V3      | Activa (pagos recurrentes)                           |
