Skip to main content
El plugin Bank Transfer divide la configuración en tres niveles. Puedes cambiar la mayoría de las decisiones de negocio en tiempo de ejecución, sin reiniciar el servicio. La identidad del tenant y el alcance de la organización Midaz cumplen propósitos diferentes. Mantenlos separados. El claim JWT tenantId del contexto de la solicitud autenticada resuelve el tenant. El tenant controla el aislamiento a nivel de infraestructura: selecciona la base de datos de la plataforma de multi-tenancy y concede acceso a los secretos con alcance de tenant. El header X-Organization-Id define el alcance de la organización Midaz dentro de ese tenant. Toda ruta de transferencia con alcance de organización requiere este header, en todos los modos de despliegue. Una solicitud devuelve 400 si omite el header o envía un valor que no sea un UUID válido. Los procesos en segundo plano, como el poller de TED IN y los workers de reconciliación, no reciben headers de solicitud. En despliegues single-tenant, estos procesos usan la variable de entorno ORGANIZATION_ID como contexto de organización.

Niveles de configuración


El plugin Bank Transfer tiene tres niveles de configuración:
  • Configuración de infraestructura (la gestiona DevOps) controla URLs, credenciales, configuraciones de autenticación y timeouts. Los cambios necesitan un reinicio del servicio.
  • Configuración de tenant (la gestiona el equipo de producto a través de la Admin API) controla límites de transferencia, políticas de tarifas y anulaciones de horario operativo. Los cambios tienen efecto sin reiniciar el servicio.
  • Configuración de cuenta (la gestiona el equipo de producto a través de la Admin API) controla límites y restricciones para cuentas individuales. Los cambios tienen efecto sin reiniciar el servicio.

Decisiones de negocio que puedes configurar


A los GPMs y equipos de producto les interesan estas configuraciones. Las gestionas todas a través de la Admin API en tiempo de ejecución, sin despliegue.

Límites de transferencia

Establece límites de volumen diario y mensual en dos niveles:
  • Por organización — aplica a las transferencias de una organización Midaz dentro del tenant resuelto
  • Por cuenta — aplica a una cuenta de usuario final específica (anula los valores predeterminados de la organización)
Los límites cubren tanto el monto total como el número de transacciones. Configúralos para gestionar el riesgo y cumplir con los requisitos del BACEN.

Política de tarifas

Controla si el plugin cobra una tarifa en las transferencias TED OUT, TED IN y P2P. El Fees Engine define las reglas de tarifas y las aplica por organización. Consulta Fees Engine para detalles de configuración.

Fail-open vs. fail-closed

Si el servicio de cálculo de tarifas no está disponible cuando se ejecuta una transferencia, tienes dos opciones:
  • Fail-open — permite que la transferencia proceda sin tarifa
  • Fail-closed — bloquea la transferencia hasta que el servicio de tarifas esté disponible nuevamente
La política predeterminada del servicio de tarifas es fail-open (FEES_FAIL_CLOSED_DEFAULT=false). Cámbiala por organización a través de la Admin API cuando necesites que las interrupciones del servicio de tarifas bloqueen las transferencias. TED IN tiene su propio interruptor de seguridad, BTF_FEES_TED_IN_FAIL_OPEN, que por defecto es true. Si plugin-fees no está disponible, el plugin acredita los fondos entrantes con tarifa=0.

Recepción de TED IN

Las transferencias entrantes están deshabilitadas por defecto. Habilita TED IN por organización después de configurar tus credenciales JD SPB e iniciar el worker de polling.

Anulaciones de horario operativo

El plugin aplica la ventana operativa TED del BACEN por defecto. Puedes definir ventanas personalizadas por política de tenant dentro de los límites del BACEN — por ejemplo, transferencias solo en horario comercial.

Configuración de infraestructura


DevOps establece las variables de entorno de despliegue (URLs, credenciales, TLS, persistencia, integraciones, claves de seguridad). Estas variables requieren un reinicio del servicio. Consulta la referencia completa en Variables de entorno.

Configuración en tiempo de ejecución (Admin API)


Gestionas la configuración a nivel de tenant y de cuenta a través de la Admin API, sin reinicio. Los cambios tienen efecto inmediato (sujeto al TTL de caché para la configuración del tenant). Las configuraciones disponibles incluyen:
  • Límites de transferencia (diario y mensual, por organización y por cuenta)
  • Comportamiento de tarifas (fail-open o fail-closed cuando el servicio de tarifas no está disponible)
  • Recepción de TED IN (habilitada o deshabilitada por organización)
  • Anulaciones de horario operativo (ventanas personalizadas dentro de los límites del BACEN)
Consulta la referencia de Admin API para la lista completa de campos configurables y el formato de solicitud.

Configuraciones gestionadas por systemplane

El systemplane (Admin API) gestiona las configuraciones a continuación en tiempo de ejecución, no en el momento del despliegue. Cada una tiene un nombre de variable de entorno correspondiente que aún existe en el código. El cargador de configuración ignora estas variables de entorno y registra un WARN de deprecación si las defines. Asignarlas a través del entorno no tiene efecto. Usa el systemplane para cambiarlas.
Definir cualquiera de los nombres anteriores a través del entorno no tiene efecto. En su lugar, el cargador registra un WARN de deprecación. Estos nombres existen únicamente como gemelos de entorno deprecados de configuraciones gestionadas en runtime/systemplane.
Cuando CORS no está configurado, el origen permitido por defecto es el comodín *. Cualquier origen puede entonces llamar a la API, y el plugin no lo valida en el arranque. En producción, define orígenes explícitos mediante la clave de systemplane cors.allowed_origins en lugar del comodín.