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

# Variables de entorno

> Configura el riel Pix Indirecto vía BTG: mTLS con BTG, datastores DB_*, vínculos con Midaz y CRM, endpoints de webhook y componentes worker en el despliegue.

Pix Indirecto vía BTG llega al arreglo Pix a través de BTG como participante directo. Se distribuye como varios componentes: una API, más los workers de conciliación, de programación y de webhooks entrantes y salientes. DevOps define las variables de entorno de cada componente en el momento del despliegue. Para cambiar una variable, reinicias ese componente. Esta página cubre las variables **distintivas de este riel**. Para los ajustes de multi-tenancy, streaming, telemetría y autenticación compartidos por todos los servicios Go de Lerian, consulta [Aspectos esenciales de configuración BYOC](/es/reference/byoc-configuration).

<Note>
  En las tablas siguientes, la columna **Predeterminado / Obligatorio** muestra el valor predeterminado. Un calificador en negrita (por ejemplo **Obligatorio**) marca las variables que debes definir. `—` significa que no hay valor predeterminado. `🔒` marca un **secreto**. Inyecta cada secreto en el momento del despliegue desde tu almacén de secretos. Nunca incluyas un secreto en un commit. Esta página solo lista nombres de variables y su comportamiento. No imprime valores de secretos.
</Note>

<Note>
  Este riel **no** monta la API de administración de systemplane. Sus variables de datastore usan el prefijo `DB_*` en lugar de la forma compartida `POSTGRES_*`. Consulta [Datastores](#datastores) más abajo.
</Note>

## Componentes y puertos

El componente de API escucha en `SERVER_PORT` (predeterminado `4014`). `SERVER_ADDRESS` se deriva de él. Los workers de conciliación, de programación y de webhooks enlazan cada uno un `WORKER_PORT` para sus sondas de salud. Cada worker lleva sus propios parámetros de ajuste (tamaños de lote, intervalos de sondeo, concurrencia y circuit breakers) en su archivo `.env.example`. Consulta [Puertos de red predeterminados](/es/reference/default-network-ports).

## Integración con BTG y mTLS

Estas variables guardan las credenciales y la configuración de TLS mutuo de la conexión con BTG.

| Variable                         | Predeterminado / Obligatorio | Descripción                                                                    |
| -------------------------------- | ---------------------------- | ------------------------------------------------------------------------------ |
| `BTG_BASE_URL`                   | **Obligatorio**              | URL base de la API de BTG.                                                     |
| `BTG_CERTIFICATE_URL`            | **Obligatorio**              | Endpoint desde el cual se obtiene el certificado de cliente para mTLS.         |
| `BTG_CLIENT_ID`                  | **Obligatorio**              | Client ID de OAuth para la API de BTG.                                         |
| `BTG_CLIENT_SECRET`              | 🔒 **Obligatorio**           | Client secret de OAuth para la API de BTG.                                     |
| `BTG_WEBHOOK_SECRET`             | 🔒 **Obligatorio**           | Secreto usado para validar las firmas de los webhooks entrantes de BTG.        |
| `BTG_WEBHOOK_VALIDATION_ENABLED` | `true`                       | Verifica las firmas de los webhooks de BTG. Déjalo en `true` en producción.    |
| `MTLS_ENABLED`                   | `false`                      | Habilita TLS mutuo en la conexión con BTG. Habilítalo en producción.           |
| `MTLS_CERTIFICATE_TTL`           | `24h`                        | Cuánto tiempo se guarda en cache un certificado de cliente antes de renovarlo. |
| `MTLS_HTTP_TIMEOUT`              | `10s`                        | Timeout de la llamada HTTP que obtiene el certificado.                         |

<h2 id="datastores">
  Datastores
</h2>

Este riel usa el prefijo `DB_*` para los datastores, no la forma compartida `POSTGRES_*`. Se conecta a un PostgreSQL primario, a una réplica de lectura aparte, a MongoDB y a Redis.

| Variable                                                                                              | Predeterminado / Obligatorio | Descripción                                                                                                                                                                                                                                                                                                                                                   |
| ----------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DB_HOST` · `DB_PORT`                                                                                 | **Obligatorio**              | Host y puerto del PostgreSQL primario.                                                                                                                                                                                                                                                                                                                        |
| `DB_USER` · `DB_PASSWORD`                                                                             | 🔒 **Obligatorio**           | Credenciales del PostgreSQL primario.                                                                                                                                                                                                                                                                                                                         |
| `DB_NAME`                                                                                             | **Obligatorio**              | Nombre de la base de datos primaria.                                                                                                                                                                                                                                                                                                                          |
| `DB_SSL_MODE`                                                                                         | `disable`                    | Modo TLS de libpq. Usa `require` o uno más estricto en producción.                                                                                                                                                                                                                                                                                            |
| `DB_REPLICA_HOST` · `DB_REPLICA_PORT` · `DB_REPLICA_NAME` · `DB_REPLICA_USER` · `DB_REPLICA_PASSWORD` | 🔒 —                         | Conexión opcional a la réplica de lectura (misma forma que la primaria).                                                                                                                                                                                                                                                                                      |
| `REPLICATION_USER` · `REPLICATION_PASSWORD`                                                           | 🔒 —                         | Credenciales del rol de replicación en streaming.                                                                                                                                                                                                                                                                                                             |
| `MONGO_URI` · `MONGO_HOST` · `MONGO_PORT` · `MONGO_USER` · `MONGO_PASSWORD` · `MONGO_NAME`            | 🔒 **Obligatorio**           | Conexión a MongoDB. `MONGO_URI` define el esquema de conexión (`mongodb` o `mongodb+srv`); `MONGO_HOST`, `MONGO_PORT`, `MONGO_USER`, `MONGO_PASSWORD` y `MONGO_NAME` aportan el host, las credenciales y la base de datos. Todas se combinan en una sola cadena de conexión — no son alternativas entre URI y valores discretos. La contraseña es un secreto. |
| `MONGO_TLS`                                                                                           | `false`                      | Habilita TLS hacia MongoDB.                                                                                                                                                                                                                                                                                                                                   |
| `REDIS_HOST` · `REDIS_PORT` · `REDIS_PASSWORD`                                                        | 🔒 —                         | Endpoint de Redis/Valkey y contraseña de autenticación.                                                                                                                                                                                                                                                                                                       |
| `REDIS_TLS` · `REDIS_CA_CERT`                                                                         | `false` · —                  | Habilita TLS hacia Redis y entrega una CA en PEM codificada en base64.                                                                                                                                                                                                                                                                                        |

## Midaz, CRM y Fees

| Variable                                                                    | Predeterminado / Obligatorio | Descripción                                                           |
| --------------------------------------------------------------------------- | ---------------------------- | --------------------------------------------------------------------- |
| `MIDAZ_ONBOARDING_URL` · `MIDAZ_TRANSACTION_URL`                            | **Obligatorio**              | URL de los servicios de onboarding y de transacciones de Midaz.       |
| `MIDAZ_ORGANIZATION_ID` · `MIDAZ_LEDGER_ID`                                 | **Obligatorio**              | UUID de la organización y del ledger de Midaz para los registros Pix. |
| `MIDAZ_CLIENT_ID` · `MIDAZ_CLIENT_SECRET`                                   | 🔒 —                         | Credenciales OAuth para Midaz M2M.                                    |
| `PLUGIN_CRM_BASE_URL` · `PLUGIN_CRM_CLIENT_ID` · `PLUGIN_CRM_CLIENT_SECRET` | 🔒 —                         | URL del servicio CRM y credenciales OAuth.                            |
| `FEE_SERVICE_URL` · `FEE_CLIENT_ID` · `FEE_CLIENT_SECRET`                   | 🔒 —                         | URL del servicio Fees Engine y credenciales OAuth.                    |
| `FEE_SERVICE_TIMEOUT`                                                       | —                            | Timeout de las solicitudes de comisiones.                             |
| `CASHIN_FEE_CALCULATION_TYPE`                                               | —                            | Cómo se calculan las comisiones de cash-in.                           |

## Webhooks internos y programación

La API y los workers intercambian eventos por un canal interno de webhooks. También ejecutan flujos Pix recurrentes y programados.

| Variable                                                                                                                   | Predeterminado / Obligatorio | Descripción                                                                           |
| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------- |
| `INTERNAL_WEBHOOK_SECRET`                                                                                                  | 🔒 **Obligatorio**           | Secreto HMAC compartido entre la API y los workers para firmar los webhooks internos. |
| `INTERNAL_WEBHOOK_VALIDATION_ENABLED`                                                                                      | `true`                       | Verifica las firmas de los webhooks internos.                                         |
| `INTERNAL_WEBHOOK_TIMESTAMP_TOLERANCE`                                                                                     | —                            | Desfase de reloj permitido al validar las marcas de tiempo de los webhooks internos.  |
| `WEBHOOK_RECEIVER_MAX_PAYLOAD_SIZE` · `WEBHOOK_RECEIVER_MAX_RETRIES`                                                       | `10485760` (10 MB) · `3`     | Límite del payload de los webhooks entrantes y tope de reintentos.                    |
| `RECURRING_SCHEDULE_LEAD_DAYS` · `RECURRING_ANTISPAM_WINDOW` · `RECURRING_REPLY_BACKOFF` · `RECURRING_REPLY_MAX_ATTEMPTS`  | `1` · `720h` · `150ms` · `3` | Ajustes de programación y de manejo de respuestas del Pix recurrente.                 |
| `SCHEDULE_DEFAULT_EXECUTE_HOUR_BRT` · `SCHEDULE_MAX_ATTEMPTS` · `SCHEDULE_MAX_FUTURE_DAYS` · `SCHEDULE_MIN_FUTURE_SECONDS` | `6` · `2` · `180` · `60`     | Ventana de ejecución y límites de los pagos programados.                              |
| `RECONCILIATION_INTERNAL_CIDR`                                                                                             | —                            | Rango CIDR de confianza para las llamadas internas de conciliación.                   |

## Ámbito de Pix y del ledger

| Variable                                            | Predeterminado / Obligatorio  | Descripción                                                                                                                   |
| --------------------------------------------------- | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `PIX_ISPB`                                          | **Obligatorio**               | El ISPB (código de participante) con el que opera este despliegue.                                                            |
| `ENTRY_WRITE_BLOCK_START` · `ENTRY_WRITE_BLOCK_END` | —                             | Ventana diaria durante la cual se bloquean las escrituras de asientos del ledger.                                             |
| `ORGANIZATION_IDS`                                  | **Obligatorio en producción** | UUID de organizaciones de Midaz, separados por comas, dentro del ámbito de licenciamiento.                                    |
| `GOOGLE_APPLICATION_CREDENTIALS`                    | 🔒 —                          | Ruta a un archivo de credenciales de cuenta de servicio de Google, cuando se ejecuta contra dependencias gestionadas por GCP. |

## Health y readiness

Cada componente expone `GET /health` (liveness) y `GET /readyz` (readiness) en su puerto. Consulta [Health y readiness](/es/reference/health-and-readiness) para conocer la forma de la respuesta y el comportamiento de arranque y drenaje.
