Na VTEX, é possível realizar a integração com o antifraude ClearSaleV3. Por meio deste sistema, é possível aumentar o nível de segurança em transações de pagamento realizadas em sua loja utilizando análises de risco que identificam possíveis fraudes.
Para configurar o ClearSaleV3, siga os passos abaixo:
- No Admin VTEX, acesse Configurações da loja > Pagamentos > Provedores, ou digite Provedores na barra de busca no topo da página.
- Na tela de provedores, clique no botão
Novo provedor
. - Digite o nome ClearSaleV3 na barra de busca e clique sobre o nome do provedor.
- Caso deseje modificar o nome de identificação a ser exibido para o antifraude ClearSaleV3 na tela do Admin VTEX, insira a informação no campo Nome em Informações básicas.
- Em Controle de pagamento, selecione se deseja ativar o provedor em ambiente de teste clicando em Ativar modo de teste.
- Preencha as informações abaixo conforme suas configurações no ClearSale:
- Login: login.
- Password: senha.
- SLA personalizado em minutos (opcional): período em que o ClearSale terá para processar a análise de fraude.
- Produto (opcional): valor numérico. Correspondente ao ID do produto contratado na ClearSale.
- Transaction currency: moeda na qual a transação é realizada.
- Observation (opcional): texto para enviar ao ClearSale como observação.
- Enviar transações autenticadas?: indica se as transações de pagamento devem ser autenticadas com senha no programa 3DSecure.
- Clique em
Salvar
.
Caso possua uma aplicação mobile que utilize as APIs da VTEX na finalização da compra é necessário realizar a implementação da coleta de dados do fingerprint a serem enviados para Clearsale, de acordo com a plataforma utilizada pelo aplicativo. Saiba mais em [Clearsale Behavior Analytics](https://api.clearsale.com.br/docs/behavior-analytics" target="_blank).
Com a implementação do SDK é necessário coletar o valor de sessionId e enviá-lo no campo deviceFingerprint via API na criação do pagamento.
Criando a tag do Google Tag Manager
A configuração do antifraude ClearSale v3 exige a criação de uma tag no Google Tag Manager, como se mostra nos passos a seguir:
- Acesse sua conta do Google Tag Manager.
- Clique na opção Tag e depois em Novo.
- Escolha o produto Tag HTML Personalizada.
- Insira o seguinte script, substituindo
seu-app
pelo seu identificador enviado pela ClearSale (entre aspas simples):
var deviceFingerprintIdCSV4 = 10000000 + Math.floor(Math.random() * 99999999); (function (a, b, c, d, e, f, g) { a['CsdpObject'] = e; a[e] = a[e] || function () { (a[e].q = a[e].q || []).push(arguments) }, a[e].l = 1 * new Date(); f = b.createElement(c), g = b.getElementsByTagName(c)[0]; f.async = 1; f.src = d; g.parentNode.insertBefore(f, g) })(window, document, 'script', '//device.clearsale.com.br/p/fp.js', 'csdp'); csdp('app', 'seu-app'); csdp('sessionid', deviceFingerprintIdCSV4); window.vtex.deviceFingerprint = deviceFingerprintIdCSV4;
- Marque a opção Suporte para document.write.
- Em Dispara Em, selecione a opção Mais e clique em Novo.
- Insira um nome para este acionador e escolha o evento tipo Evento Personalizado.
- Em Disparar Em, defina o nome do evento como payment.
- Salve o acionador.
- Clique no botão Criar Tag, insira um nome para esta tag e salve.
- No canto superior direito, clique em Publicar.

Detalhes do campo customSLA
O valor definido no campo Custom SLA em minutos da configuração do antifraude é um dos três possíveis para o campo customSLA
da transação. Caso o carrinho esteja vazio, o valor de customSLA
será o valor de shippingEstimate
do carrinho da transação. Se o carrinho possuir pelo menos um item, o valor de customSLA
será o menor entre o valor de deliverySlaInMinutes
do primeiro item do carrinho e o valor de Custom SLA em minutos usado na configuração de antifraude.
Os valores de shippingEstimate
e deliverySlaInMinutes
correspondem ao tempo de entrega e são gerados no Checkout a partir de informações do módulo de Logística. O cálculo do tempo de entrega é explicado no artigo Como é calculado o prazo de entrega do pedido.
O valor de shippingEstimate
é obtido a partir de um cálculo feito pelo módulo de Logística. O valor é acompanhado de uma letra, que representa a unidade de tempo utilizada. As letras de unidade de tempo são:
d
para dias corridos oubd
para dias úteis se o tempo for zero ou de pelo menos 24 horas.h
para horas se o tempo for menor que 24 horas e de pelo menos 2 horas.m
para minutos se o tempo for menor que 2 horas.
O shippingEstimate
pode ser obtido nos itens de shippingData.logisticsInfo[]
na resposta do endpoint Get Order.
O valor de deliverySlaInMinutes
é a conversão de shippingEstimate
em minutos. Se a unidade for m
(minutos) será o mesmo valor, se a unidade for h
(horas) o valor é multiplicado por 60 e se a unidade for d
(dias corridos) ou bd
(dias úteis) o valor é multiplicado por 1440. Por exemplo, três dias corridos ou 3d
é representado como 4320
. O deliverySlaInMinutes
é utilizado em cada item do minicart
no request body dos endpoints Send Antifraud Pre-Analysis Data e Send Antifraud Data.
Apesar de a conversão do tempo em dias corridos (
d
) e dias úteis (bd
) para minutos ser a mesma no campodeliverySlaInMinutes
, a data da entrega pode divergir dependendo do calendário (quando há finais de semana e feriados dentro do período de entrega).