Operadores Condicionais
Os Operadores Condicionais são separadores de fluxo que podem ser configurados utilizando comparadores lógicos em conjunto com dados disponíveis nas cobranças para decidir quais provedores serão utilizados no processamento daquela cobrança. Os condicionais podem utilizar dados nativos das cobranças, como o valor, quantidade de parcelas e a bandeira do cartão selecionado ou metadados enviados no campometadata
das charges
.
Tabela de Operadores Suportados
Operador | Descrição | Tipo dos Operandos | Exemplo de Expressão |
---|---|---|---|
lt < | Menor que | number | transaction.amount < 5000 |
gt > | Maior que | number | transaction.amount > 5000 |
le <= | Menor ou igual a | number | transaction.amount <= 5000 |
ge >= | Maior ou igual a | number | transaction.amount >= 5000 |
eq = | Igual a | number , string | transaction.installments = 0 |
ne != | Diferente de | number , string | transaction.installments != 0 |
and | Operador lógico E | boolean | transaction.installments = 0 and transaction.amount < 5000 |
or | Operador lógico OU | boolean | transaction.installments = 0 or transaction.amount < 5000 |
Propriedades de charge disponíveis
As propriedades dascharges
podem ser utilizadas para fazer a composição das regras de processamento de cobrança junto dos Operadores Condicionais. As propriedades atualmente mapeadas para uso nas regras de processamento se encontram na tabela a seguir.
Propriedade | Tipo | Descrição |
---|---|---|
amount | number | Valor da cobrança em centavos |
currency | string | Identificador da moeda para processamento da cobrança, formato ISO 4217 |
cardBin | string | Os seis primeiros dígitos de um cartão, conhecido como Bank Identification Number ou Issuer Identification Number |
brand | string | Bandeira do cartão (exclusivo para cartões) |
installments | number | Quantidade de parcelas para cobrança (exclusivo para transações do tipo crédito) |
metadata | - | Propriedade para inserção de campos adicionais na cobrança. Podem ser adicionadas propriedades do tipo number , string , boolean , object ou list |
Uso de metadados de transação
É possível enviar metadados da cobrança para uso em seus Fluxos Inteligentes. Esta propriedade é uma propriedade especial da cobrança que aceita quaisquer propriedades dentro dela, possibilitando que você processe regras de negócio de um ponto de vista de escolha dos provedores que devem processar aquela transação utilizando o motor da Malga.Exemplo de uso de metadata
Os dados adicionais de cobrança são extremamente flexíveis e servem para que você possa processar suas regras de negócio utilizando o motor interno da Malga. Por exemplo, caso queira utilizar propriedades que não existem normalmente em uma cobrança Malga, é possível adicionar estas propriedades utilizando o campo demetadata
, como demonstrado no exemplo a seguir:

metadata.daysToEvent
seja maior do que 60 não é feito o uso de provedores antifraude para proteger a cobrança. Assim como o envio da propriedade arbitrária daysToEvent
, qualquer propriedade pode ser enviada com uma cobrança para processar regras condicionais.
Cobrança | Antifraude | Provedor 1 | Provedor 2 | Provedor 3 |
---|---|---|---|---|
daysToEvent = 61; amount = 550; installments = 2 | - | PagSeguro 2 | PagSeguro 3 | Adyen |
daysToEvent = 45; amount = 300; installments = 6 | Clearsale 2 | PagSeguro 1 | PagSeguro 3 | Adyen |
daysToEvent = 70; amount = 1200; installments = 3 | Clearsale 1 | PagSeguro 2 | PagSeguro 3 | Adyen |
As retentativas baseadas nos provedores antifraude acontecem na etapa de pré
autorização, portanto uma vez pré autorizada em um provedor a transação
termina seu ciclo de vida neste provedor até o momento de captura ou falha.Apesar de ser possível enviar metadados passando uma listas de elementos ou
objetos aninhados em metadata para processamento ainda não existem
operadores compatíveis com estes tipos de propriedades.As palavras currency, cardBin, installments, amount, brand, paymentType e operation são reservadas e não podem ser utilizadas como chaves nos metadados.
Caso sejam enviadas, podem resultar em erros ou comportamentos inesperados
Distribuição de Carga
É possível fazer a distribuição de cobranças em ramificações do Fluxo Inteligente utilizando a propriedademath/random
. Esta propriedade gera um número aleatório entre 0 e 1 e pode ser acessada em conjunto com operadores lógicos para criar regras de distribuição de carga, como no exemplo a seguir, onde 60% das transações são enviadas pela ramificação true e 40% são enviados pela ramificação false: math/random < 0.6

Comportamento de Provedores de Cobrança
Os Provedores de Cobrança são configurados em uma ordem de prioridade dentro dos Fluxos Inteligentes. Uma vez que uma cobrança não seja devidamente aprovada em um provedor, caso a causa do erro seja retentável, a cobrança segue para ser processada no próximo provedor configurado no Fluxo Inteligente. Caso não haja um novo provedor a ser tentado após o último erro retentável retornado, a cobrança é retornada comofailed
.
Podem ser configurados até três provedores de cobrança em uma única
ramificação do seu Fluxo Inteligente.
Tabela de causas de falha
Causas comuns de falha podem ser vistas aqui.Comportamento de Provedores Antifraude
Em um Fluxo Inteligente é possível configurar Provedores Antifraude para proteger suas transações e seu comportamento pode ser verificado em nossa documentação. Dentro de uma única ramificação do Fluxo Inteligente é possível configurar apenas um provedor antifraude, ou seja, não é possível processar múltiplos provedores antifraude para uma única cobrança. Este tipo de configuração permite que você alterne entre múltiplos Provedores Antifraude, ou até desligue este tipo de proteção, utilizando estratégias diferentes para cobranças de características distintas. Estas regras são processadas cobrança a cobrança de acordo com as características configuradas no Fluxo Inteligente.As retentativas baseadas nos provedores antifraude acontecem na etapa de pré
autorização, portanto uma vez pré autorizada em um provedor a transação
termina seu ciclo de vida neste provedor até o momento de captura ou falha.