- Um fee schedule define quanto de tarifa calcular — a moeda, o arredondamento e um ou mais fee items (fixo, percentual, escalonado ou baseado em expressão).
- Uma fee rule decide quando um fee schedule se aplica. Ela pertence a um contexto de conciliação, aponta para um lado de correspondência e carrega predicados que os metadados de uma transação devem satisfazer. Quando os predicados correspondem, a regra seleciona seu fee schedule.
O que o tratamento de tarifas resolve
A conciliação falha quando um lado de uma transação inclui tarifas ou cobranças que o outro lado não registra. Um gateway de pagamento deduz uma taxa de processamento antes de liquidar. Um banco cobra uma tarifa de transferência bancária. Um adquirente desconta taxas dos pagamentos. Sem tarifas modeladas, o Matcher trata essas diferenças como discrepâncias de valor e gera exceções — mesmo quando a diferença é esperada e documentada. Os fee schedules descrevem a cobrança, e as fee rules selecionam quando usá-la durante a normalização de tarifas habilitada.
Como as regras e os schedules se encaixam
Uma fee rule não contém o valor da tarifa nem o cálculo em si. Ela referencia um fee schedule por ID e o aplica às transações que seus predicados selecionam.
- Um fee schedule é criado uma vez no nível do tenant e pode ser reutilizado por muitas regras em muitos contextos.
- Uma fee rule é criada dentro de um contexto. Ela define um
side, umfeeScheduleId, umaprioritye uma lista depredicates. - Quando o Matcher processa um contexto com a normalização de tarifas habilitada, ele avalia as fee rules do lado relevante na ordem de
priority(a mais baixa primeiro). A primeira regra correspondente seleciona o schedule referenciado.
Uma fee rule sozinha não altera os valores de comparação. A avaliação de fee rules só afeta a conciliação de tarifas quando o contexto define
feeNormalization como NET ou GROSS, o lado relevante tem regras e as moedas da transação e do schedule correspondem.Estrutura de uma fee rule
Uma fee rule pertence a um contexto e tem os seguintes campos.
Predicados
Cada predicado testa um campo de metadados da transação com um operador.
Operadores disponíveis:
Campos ausentes são avaliados como
false para todos os operadores, exceto EXISTS.
Estrutura de um fee schedule
Um fee schedule é uma entidade no nível do tenant que calcula uma tarifa a partir de um valor bruto.
Fee items
Cada item declara umname, uma priority (ordem de aplicação, relevante para CASCADING), um structureType e uma structure específica do tipo.
Gerenciamento de fee schedules
Os fee schedules têm escopo de tenant e são gerenciados de forma independente de qualquer contexto.
Criar um fee schedule
Este schedule calcula uma taxa de processamento de 2.9% sobre o valor bruto, denominada em BRL.cURL
Simular um fee schedule
Antes de conectar um schedule a uma regra, simule-o contra um valor bruto para confirmar a tarifa calculada.cURL
netAmount, o totalFee e um detalhamento por item.
Um fee schedule não pode ser excluído enquanto uma fee rule ou o histórico de variações de tarifas o referencia. A solicitação retorna
409 Conflict com o código MTCH-0108 e inclui os contextos que bloqueiam a exclusão em errors, em fee-schedule.delete.blocking-contexts. Remova ou reaponte primeiro as referências de regras atuais. As referências do histórico de variações continuam bloqueando a exclusão.Gerenciamento de fee rules
As fee rules são criadas dentro de um contexto e referenciam um fee schedule.
Criar uma fee rule
Esta regra aplica o fee schedule criado acima às transações do lado direito cujos metadadosinstitution sejam iguais a Banco do Brasil.
cURL
Fluxo de ponta a ponta
Juntando tudo, o tratamento de tarifas esperadas segue três passos:
1
Crie o fee schedule
Defina como a tarifa é calculada uma vez no nível do tenant com
POST /v1/fee-schedules. Opcionalmente, valide-o com o endpoint de simulação. Anote o id retornado.2
Crie a fee rule no contexto
Dentro do contexto de conciliação, crie uma fee rule com
POST /v1/contexts/{contextId}/fee-rules. Defina feeScheduleId como o id do schedule, escolha o side, defina uma priority única e adicione os predicates que selecionam as transações às quais a tarifa se aplica.3
Aplique durante a correspondência
Defina
feeNormalization do contexto como NET ou GROSS. Durante a correspondência, o Matcher avalia as regras de cada lado relevante na ordem de priority. Uma regra correspondente só altera o valor de comparação quando seu schedule e a transação usam a mesma moeda.Melhores práticas
Reutilize schedules entre contextos
Reutilize schedules entre contextos
Um fee schedule tem escopo de tenant e pode ser referenciado por muitas regras. Defina um schedule uma vez (ex., “Card Processing - Visa”) e aponte regras de diferentes contextos para ele. Editar o schedule atualiza todas as regras que o usam.
Mantenha as prioridades únicas e intencionais
Mantenha as prioridades únicas e intencionais
As prioridades são únicas dentro de um contexto e compartilhadas entre as regras
LEFT, RIGHT e ANY. Ordene-as da mais específica para a mais geral, para que uma regra estreita vença antes de um fallback amplo.Delimite as regras com predicados precisos
Delimite as regras com predicados precisos
Os predicados são unidos por AND e testados contra os metadados da transação. Combine operadores (
EQUALS, IN, BETWEEN, EXISTS) para mirar exatamente nas transações às quais uma tarifa se aplica e evitar atribuição de tarifas indesejada.Simule antes de conectar um schedule a uma regra
Simule antes de conectar um schedule a uma regra
Use
POST /v1/fee-schedules/{scheduleId}/simulate para confirmar que um schedule produz a tarifa esperada para valores representativos antes de referenciá-lo a partir de uma regra.Reaponte as regras antes de excluir um schedule
Reaponte as regras antes de excluir um schedule
Um schedule referenciado por uma regra ou pelo histórico de variações de tarifas não pode ser excluído (
409 MTCH-0108). A resposta de conflito lista os contextos que o bloqueiam em errors, em fee-schedule.delete.blocking-contexts. Atualize ou remova primeiro as referências de regras atuais; as referências históricas de variações continuam bloqueando a exclusão.Próximos passos
Regras de conciliação
Configure como as transações são comparadas depois que as tarifas esperadas são consideradas.
Roteamento de exceções
Revise a atribuição explícita, o despacho e os callbacks das exceções que o tratamento de tarifas não cobre.
Fee schedules API
Referência completa da API para os endpoints de fee schedules.
Fee rules API
Referência completa da API para os endpoints de fee rules.

