Uso típico
Así es como funciona el proceso, desde la configuración de tarifas hasta ver los resultados.Paso 1 - Crear tus paquetes de tarifas
Comienza configurando paquetes de tarifas que definen cómo se aplican las tarifas. Para hacerlo, usa el endpoint Create a Package. Cada paquete contiene un conjunto de reglas de tarifas y criterios de coincidencia. Puedes adaptar paquetes a diferentes segmentos o Ledgers usando:- transactionRoute – Identifica la naturaleza de la transacción.
- segmentId – Agrupa clientes o tipos de productos.
- ledgerId – Define qué Ledger registra la transacción.
- Minimum y maximum amount – Umbrales opcionales para la aplicación de tarifas.
- routeFrom / routeTo – Define cómo se mueve cada tarifa a través de los flujos contables.
- List Packages - Lista todos los paquetes creados.
- Retrieve a Package - Recupera información de un paquete específico.
- Update a Package - Actualiza la información de un paquete específico.
- Delete a Package - Eliminación suave de un paquete.
(opcional) Paso 2 - Ejecutar una simulación
Si quieres previsualizar cómo se comportaría un paquete de tarifas antes de confirmar una transacción real, usa el endpoint Simular comisión por Transacción. Esta simulación ayuda a validar:- Qué reglas de tarifas se activarán.
- Cómo se comportará el paquete con los valores dados.
- Si se aplican exenciones.
Paso 3 - Crear una transacción
Una vez que los paquetes estén configurados, activa la transacción real usando el endpoint create a transaction. Incluye eltransactionRoute, segmentId y ledgerId apropiados para que el motor pueda evaluar el paquete coincidente.
Paso 4 - El Fees Engine entra en acción
Fees Engine envía automáticamente una llamada al endpoint Calculate Fees for a Package y evalúa si un paquete aplica basándose en:- transactionRoute
- segmentId
- ledgerId
- Minimum y maximum amount
- waivedAccounts (para exenciones de tarifas)
Solo se selecciona un paquete por transacción.
Paso 5 - Verificar exenciones
El sistema verifica:- Si el monto de la transacción está fuera del rango permitido.
- Si la cuenta de origen está exenta.
Paso 6 - Cálculo y aplicación de tarifas
Si se aplica un paquete, Fees Engine:- Calcula valores de tarifas basándose en la
applicationRuleseleccionada. - Aplica tarifas proporcionalmente entre cuentas si es necesario.
- Usa
isDeductibleFrompara definir si la tarifa se agrega o se deduce. - Enruta tarifas a la
creditAccountcorrecta usando elrouteFromyrouteToconfigurados. - Devuelve el resultado completo de la transacción junto con el
packageAppliedIDen los metadatos.
Paso 7 - Actualizaciones del Ledger
Una vez que las tarifas se calculan, el componente Transactions toma el control. Procesa:- Débitos de cuentas de origen
- Créditos a destinos de tarifas
- Desglose de tarifas por ruta y cuenta
Paso 8 - Revisar y confirmar
Después de la ejecución, puedes:- Inspeccionar la transacción final y los montos por cuenta.
- Confirmar el paquete de tarifas que se aplicó.
- Verificar todos los movimientos de tarifas a través de metadatos y registros del Ledger.
¿Por qué simular una transacción?
Las simulaciones te permiten previsualizar cómo se comporta un paquete de tarifas específico, sin ejecutar una transacción real ni escribir en el Ledger. Usa simulaciones cuando:- Quieras probar un paquete específico.
- Estés depurando reglas de tarifas o umbrales.
- Quieras validar exenciones, rangos de valores o divisiones proporcionales.
- Necesites una vista previa antes de crear una transacción real.
- Estés construyendo una interfaz y quieras mostrar tarifas estimadas.
packageId y el endpoint devuelve lo que sucedería si se aplicara ese paquete exacto.
¿Qué obtienes con una simulación?
- Una simulación completa de las reglas de tarifas.
- Qué cuentas serían cargadas.
- Cómo se dividiría la tarifa.
- Sin impacto en el Ledger.
Errores comunes
Fees Engine valida cada solicitud para asegurar consistencia y lógica correcta de tarifas. A continuación se muestran los problemas más frecuentes que puedes encontrar al crear paquetes o procesar transacciones.| Código | Título | Mensaje |
|---|---|---|
| FEE-0002 | Campos faltantes en la solicitud | Tu solicitud está faltando uno o más campos requeridos. Por favor consulta la documentación para asegurar que todos los campos necesarios estén incluidos en tu solicitud. |
| FEE-0012 | Entidad no encontrada | No se encontró ninguna entidad para el ID dado. Por favor asegúrate de usar el ID correcto para la entidad que estás intentando gestionar. |
| FEE-0013 | Prioridad de tarifa inválida | El campo priority en fees es inválido. El campo no puede estar repetido. |
| FEE-0015 | minimumAmount mayor que maximumAmount | El valor de minimumAmount es mayor que maximumAmount. |
| FEE-0022 | Falló el cálculo de tarifa | Error al hacer el cálculo de una tarifa sobre una transacción. |
| FEE-0024 | originalAmount es requerido cuando priority es uno | Para Priority igual a uno, referenceAmount debe ser ‘originalAmount’ para fee. |
| FEE-0025 | Falló aplicar regla: flatFee o percentual | applicationRule flatFee o percentual debe tener exactamente 1 cálculo para Fee. |
| FEE-0036 | Superposición de rango de monto del paquete | El maximumAmount y minimumAmount del nuevo paquete se superponen con el rango de monto de un paquete existente. |
¿Quieres la lista completa de códigos de error? La encontrarás en la página Fees Engine error list en la API reference.

