Mudanças na avaliação personalizada de regras do Radar

A Stripe planeja lançar melhorias nas regras do Radar no final de maio de 2024 para facilitar a compreensão e gerenciar o comportamento quando faltam valores de atributos.

Atualmente, se você escrever a regra Block if :email_domain: != 'notfraud.com' e :email_domain: estiver ausente, ela não será correspondente. Isso ocorre porque a Stripe interpreta != 'notfraud.com' como o atributo que tem algum valor explícito diferente de 'notfraud.com', ao que um atributo ausente não satisfaz. Por outro lado, se você escrever uma regra semelhante a Block if NOT(:email_domain: = 'notfraud.com') e o :email_domain: estiver ausente, essa regra será correspondente. Isso ocorre porque a instrução associada :email_domain: = 'notfraud.com' seria avaliada como falsa e, quando negada pela operação NOT, seria avaliada como verdadeira.

No entanto, no novo intérprete, ambas as regras resultariam na não correspondência da regra. Isso ocorre porque qualquer comparação (por exemplo, =, !=, >, <, IN) de um atributo ausente com outro valor ou atributo estático (ausente ou presente) respeita os dados ausentes. Da mesma forma, qualquer operação lógica (como AND, OR, NOT) com valores ausentes resulta em um atributo ausente, a menos que seja definido explicitamente. Qualquer regra que resulte em um valor ausente ser respeitado em toda a avaliação não será correspondida.

Você pode identificar as regras que serão afetadas por essa mudança revisando os predicados que usam a negação NOT com um atributo associado que pode estar ausente. Se quiser manter o mesmo comportamento de correspondência de Block if NOT(:email_domain: = 'notfraud.com'), será preciso alterar explicitamente o predicado de regra para lidar com valores ausentes: Block if is_missing(:email_domain:)OR NOT(:email_domain: = ‘notfraud.com’). Caso contrário, a regra adotará automaticamente o comportamento atualizado quando a Stripe implementar a alteração de maio de 2024.

Sua dúvida foi resolvida?