- Un fee schedule define cuánto calcular de tarifa — la moneda, el redondeo y uno o más fee items (fijo, porcentaje, escalonado o basado en expresión).
- Una fee rule decide cuándo se aplica un fee schedule. Pertenece a un contexto de conciliación, apunta a un lado de coincidencia y lleva predicados que los metadatos de una transacción deben satisfacer. Cuando los predicados coinciden, la regla selecciona su fee schedule.
Qué resuelve el manejo de tarifas
La conciliación falla cuando un lado de una transacción incluye tarifas o cargos que el otro lado no registra. Un gateway de pagos deduce una comisión de procesamiento antes de liquidar. Un banco cobra una comisión por transferencia bancaria. Un adquirente descuenta comisiones de los pagos. Sin tarifas modeladas, Matcher trata estas diferencias como discrepancias de monto y genera excepciones — incluso cuando la diferencia es esperada y documentada. Los fee schedules describen el cargo, y las fee rules seleccionan cuándo usarlo durante la normalización de tarifas habilitada.
Cómo encajan las reglas y los schedules
Una fee rule no contiene el monto de la tarifa ni el cálculo en sí. Referencia un fee schedule por ID y lo aplica a las transacciones que seleccionan sus predicados.
- Un fee schedule se crea una vez a nivel de tenant y puede ser reutilizado por muchas reglas en muchos contextos.
- Una fee rule se crea dentro de un contexto. Establece un
side, unfeeScheduleId, unapriorityy una lista depredicates. - Cuando Matcher procesa un contexto con la normalización de tarifas habilitada, evalúa las fee rules del lado relevante en orden de
priority(primero el más bajo). La primera regla que coincide selecciona el schedule referenciado.
Una fee rule por sí sola no cambia los montos de comparación. La evaluación de fee rules solo afecta la conciliación de tarifas cuando el contexto establece
feeNormalization en NET o GROSS, el lado relevante tiene reglas y las monedas de la transacción y el schedule coinciden.Estructura de una fee rule
Una fee rule pertenece a un contexto y tiene los siguientes campos.
Predicados
Cada predicado prueba un campo de metadatos de la transacción con un operador.
Operadores disponibles:
Los campos ausentes se evalúan como
false para todos los operadores excepto EXISTS.
Estructura de un fee schedule
Un fee schedule es una entidad a nivel de tenant que calcula una tarifa a partir de un monto bruto.
Fee items
Cada item declara unname, una priority (orden de aplicación, relevante para CASCADING), un structureType y una structure específica del tipo.
Gestión de fee schedules
Los fee schedules tienen alcance de tenant y se gestionan de forma independiente de cualquier contexto.
Crear un fee schedule
Este schedule calcula una comisión de procesamiento del 2.9% sobre el monto bruto, denominada en BRL.cURL
Simular un fee schedule
Antes de conectar un schedule a una regla, simúlalo contra un monto bruto para confirmar la tarifa calculada.cURL
netAmount, el totalFee y un desglose por item.
Un fee schedule no se puede eliminar mientras una fee rule o el historial de variaciones de tarifas lo referencie. La solicitud devuelve
409 Conflict con el código MTCH-0108; el problema de la API no lista los contextos que bloquean la eliminación. Elimina o reapunta primero las referencias de reglas actuales. Las referencias del historial de variaciones continúan bloqueando la eliminación.Gestión de fee rules
Las fee rules se crean dentro de un contexto y referencian un fee schedule.
Crear una fee rule
Esta regla aplica el fee schedule creado arriba a las transacciones del lado derecho cuyos metadatosinstitution sean iguales a Banco do Brasil.
cURL
Flujo de extremo a extremo
Poniéndolo todo junto, el manejo de tarifas esperadas sigue tres pasos:
1
Crea el fee schedule
Define cómo se calcula la tarifa una vez a nivel de tenant con
POST /v1/fee-schedules. Opcionalmente valídalo con el endpoint de simulación. Anota el id devuelto.2
Crea la fee rule en el contexto
Dentro del contexto de conciliación, crea una fee rule con
POST /v1/contexts/{contextId}/fee-rules. Establece feeScheduleId al id del schedule, elige el side, define una priority única y agrega los predicates que seleccionan las transacciones a las que se aplica la tarifa.3
Aplica durante la coincidencia
Establece
feeNormalization del contexto en NET o GROSS. Durante la coincidencia, Matcher evalúa las reglas de cada lado relevante en orden de priority. Una regla coincidente solo cambia el monto de comparación cuando su schedule y la transacción usan la misma moneda.Mejores prácticas
Reutiliza schedules entre contextos
Reutiliza schedules entre contextos
Un fee schedule tiene alcance de tenant y puede ser referenciado por muchas reglas. Define un schedule una vez (ej., “Card Processing - Visa”) y apunta reglas de distintos contextos hacia él. Editar el schedule actualiza todas las reglas que lo usan.
Mantén las prioridades únicas e intencionales
Mantén las prioridades únicas e intencionales
Las prioridades son únicas dentro de un contexto y compartidas entre las reglas
LEFT, RIGHT y ANY. Ordénalas de la más específica a la más general para que una regla estrecha gane antes que un respaldo amplio.Delimita las reglas con predicados precisos
Delimita las reglas con predicados precisos
Los predicados se unen con AND y se prueban contra los metadatos de la transacción. Combina operadores (
EQUALS, IN, BETWEEN, EXISTS) para apuntar exactamente a las transacciones a las que se aplica una tarifa y evitar la atribución de tarifas no deseada.Simula antes de conectar un schedule a una regla
Simula antes de conectar un schedule a una regla
Usa
POST /v1/fee-schedules/{scheduleId}/simulate para confirmar que un schedule produce la tarifa esperada para montos representativos antes de referenciarlo desde una regla.Reapunta las reglas antes de eliminar un schedule
Reapunta las reglas antes de eliminar un schedule
Un schedule referenciado por una regla o por el historial de variaciones de tarifas no se puede eliminar (
409 MTCH-0108). La respuesta de conflicto no lista los contextos que lo bloquean. Actualiza o elimina primero las referencias de reglas actuales; las referencias históricas de variaciones continúan bloqueando la eliminación.Próximos pasos
Reglas de conciliación
Configura cómo se comparan las transacciones una vez que se tienen en cuenta las tarifas esperadas.
Enrutamiento de excepciones
Revisa la asignación explícita, el despacho y los callbacks de las excepciones que el manejo de tarifas no cubre.
Referencia de la API de fee schedules
Referencia completa de la API para los endpoints de fee schedules.
Referencia de la API de fee rules
Referencia completa de la API para los endpoints de fee rules.

