HomeGuiaAPI ReferenceNovidadesComunidade
Guia

Boas Práticas de Segurança VTEX

A VTEX oferece diversas proteções nativas contra ataques às lojas. Ainda assim, existem configurações adicionais e integrações com terceiros que podem aumentar significativamente a segurança da operação. Este guia apresenta alguns desses recursos:

🚧

Essas medidas não eliminam totalmente o risco de ataques, mas reduzem de forma relevante a probabilidade de ocorrência quando aplicadas corretamente.

Pré-Autorização

Na pré-autorização, o sistema não captura o valor imediatamente no momento da compra. Em vez disso, ele reserva o saldo no cartão do cliente e a captura ocorre depois, de forma manual ou automática, conforme a configuração da loja.

Como configurar a pré-autorização na VTEX

O conector PagBankV3 suporta pré-autorização nativamente. Siga os passos abaixo para configurá-lo em sua loja VTEX:

  1. Acesse Configurações da Loja > Provedores.

  2. Localize o provedor PagBankV3 já ativo em sua loja.

  3. Clique em Editar.

  4. No campo Liquidação Automática, selecione a opção: Liquidação automática imediatamente após a análise antifraude.

    • A captura ocorre somente após a autorização e a análise antifraude.

    • Se você selecionar essa opção e não houver antifraude integrado, o sistema realiza a liquidação da mesma forma que na opção de liquidação imediata após autorização.

  5. Clique em Salvar.

Antifraude

Sistemas antifraude analisam o comportamento do comprador e bloqueiam automaticamente operações suspeitas, evitando compras potencialmente fraudulentas.

Essa solução envia as transações aprovadas pelo emissor para o antifraude, reduzindo o custo da transação, mas ela não garante que transações de teste não cheguem ao emissor.

Configurar um provedor de antifraude

Siga os passos abaixo para adicionar e configurar um provedor de antifraude em sua loja VTEX:

  1. No Admin VTEX, acesse Configurações da loja > Provedores ou digite "Provedores" na busca superior.

  2. Clique no botão Novo provedor.

  3. Pesquise e selecione o provedor desejado.

  4. Preencha os campos do formulário com os dados indicados pelo provedor de antifraude.

  5. Clique em Salvar.

Associar o provedor a uma condição de pagamento

Após habilitar o provedor de antifraude, você precisa associá-lo a uma ou mais condições de pagamento. Para realizar esta operação, faça o seguinte:

  1. No Admin VTEX, acesse Configurações da Loja > Pagamentos > Configurações.

  2. Na aba Condições de Pagamento, clique no botão +.

  3. Selecione o meio de pagamento desejado.

  4. Preencha o campo Nome da condição com um nome de sua preferência.

  5. Ative a condição no campo Status.

  6. Em Processar com o provedor, selecione o provedor de pagamento desejado.

  7. Em Usar solução antifraude, selecione o provedor configurado anteriormente (caso disponível para o meio de pagamento).

  8. Clique em Salvar.

📘

Para mais informações, acesse VTEX: Configurar o antifraude

Proteção contra ataques em transações

A VTEX possui uma proteção automática contra ataques que envolvem tentativas repetidas de transações. O sistema aciona a proteção quando detecta uma taxa de negação de autorizações acima de 90% em um período de 15 minutos.

Quando ativada, a proteção altera o fluxo de pagamento: o pedido é finalizado normalmente, mas a confirmação de pagamento (aprovado ou negado) é enviada ao cliente posteriormente por e-mail ou SMS. Isso aumenta a segurança sem afetar a conversão.

🚧

Atenção

A proteção não impede totalmente que a loja sofra ataques de cartões, mas reduz de forma considerável o número desses eventos. Desta forma, as transações tornam-se mais seguras.

Habilitação

Para habilitar a proteção contra ataques em transações, faça o seguinte:

  1. Acesse o Admin VTEX.

  2. Clique em Pedidos, depois clique em Transações.

  3. No canto superior direito, clique no ícone de configurações.

  4. Em Proteção contra ataques, ative o botão (a cor verde indica "habilitado").


Verificação

Para verificar se a proteção foi acionada:

  1. Acesse o Admin VTEX.

  2. Clique em Pedidos > Transações.

  3. No canto superior direito, clique no ícone de configurações.

  4. Em Histórico de ameaças, clique na seta à direita.

  5. Para filtrar por Ameaças detectadas ou Ameaças neutralizadas, clique em uma das setas à direita.

  6. Verifique os detalhes dos eventos na janela pop-up.


📘

Para mais informações, acesse este link.

Desabilitar login por senha

Se sua loja sofre ataques mesmo com os recursos descritos acima, recomendamos desabilitar o login por senha. Aplique essa medida temporariamente ou de forma permanente para interromper o fluxo de automação do ataque.

Como desabilitar o login por senha

Para desabilitar o login por senha, siga estes passos:

  1. Acesse Configurações da conta > Autenticação.

  2. Desabilite o campo Senha.

📘

Para mais informações, acesse Boas práticas contra ataques virtuais: Desabilitar login por senha.

reCAPTCHA v3 no Checkout

❗️

Requer conhecimento técnico

O reCAPTCHA valida se o comprador é um usuário real, impedindo que bots utilizem cartões para ataques, como tentativas de card testing. Recomendamos o reCAPTCHA v3, que funciona por pontuação e não exige interação do usuário.

Para configurar o reCAPTCHA, realize os passos a seguir:

Passo 1: Obter as chaves no Google reCAPTCHA

  1. Acesse o site do Google reCAPTCHA e faça login com uma conta Google.
  2. Crie uma nova etiqueta para identificar seu site (por exemplo: "Minha Loja VTEX").
  3. IMPORTANTE: Selecione o tipo reCAPTCHA v3 (ou reCAPTCHA Enterprise, que é compatível).
  4. Adicione o domínio da sua loja (por exemplo: "seudominio.com.br"), sem "https://" ou "www".
  5. Aceite os termos de serviço e clique em Enviar.
  6. Copie a Chave do site (Site Key) e a Chave secreta (Secret Key).

Passo 2: Configurar no Admin VTEX (para Checkout)

  1. Acesse o Admin da sua loja VTEX.
  2. Entre em contato com seu time de desenvolvimento para configurar as chaves via API de Configuração do orderForm, inserindo-as no campo recaptchaKeys.

Passo 3: Adicionar ao front-end (para login/formulários)

Para proteger páginas de login ou cadastro fora do Checkout nativo:

  1. Inclua o script do reCAPTCHA na sua página:
<script src="https://www.google.com"></script>
  1. No evento de submissão do formulário, chame grecaptcha.execute para obter um token e envie-o ao seu backend para validação.

Passo 4: Testar a configuração

  1. Acesse sua loja e realize uma compra.
  2. Verifique se o selo do reCAPTCHA aparece no canto inferior da tela, indicando que está ativo.
  3. O reCAPTCHA v3 analisa o comportamento do usuário e não exibe desafios, a menos que o sistema detecte atividade suspeita.

🚧

Atenção

Se o reCAPTCHA estiver ativo, qualquer integração que cria pedidos precisa estar preparada para lidar com essa validação.

Em casos de API ou headless, o pedido pode ser bloqueado caso a chave do reCAPTCHA não seja enviada.

📘

Para mais informações, acesse Boas práticas contra ataques virtuais: reCAPTCHA v3 no Checkout.

Configurações do orderForm

❗️

Requer conhecimento técnico

O Checkout oferece configurações adicionais de segurança que você ativa via endpoint: Update order form configuration.

Exigir login ao fechar uma compra

Defina o campo requiresLoginToPlaceOrder como true para permitir compras apenas por clientes autenticados. O cliente precisa estar logado com o mesmo endereço de e-mail usado ao adicionar produtos ao carrinho.

🚧

Atenção

Ativar esse campo desabilita o SmartCheckout para todos os clientes da loja.

Tempo mínimo entre pedidos

Defina um valor numérico no campo minimumPurchaseDowntimeSeconds para determinar, em segundos, o tempo mínimo que um comprador deve aguardar antes de efetuar outro pedido. Essa configuração impede que clientes criem múltiplos pedidos em um curto período.

Recomendamos configurar esse campo para 90 segundos, em conjunto com a exigência de login para fechar uma compra.

Tempo mínimo de existência de um carrinho para uso de novo cartão de crédito

Defina um valor numérico no campo cartAgeToUseNewCardSeconds para determinar, em segundos, por quanto tempo um carrinho precisa existir antes de aceitar um novo cartão de crédito. Essa configuração diminui a probabilidade da criação de múltiplos carrinhos e a adição de novos cartões de crédito.

🚧

Atenção

A ativação desse campo não afeta compras realizadas com cartões previamente salvos na conta do cliente.

A VTEX recomenda configurar esse campo para 30 segundos.

Exigir login ao adicionar um novo cartão de crédito

Defina o campo requiresLoginToUseNewCard como true para exigir que o cliente esteja autenticado antes de adicionar um novo cartão de crédito como forma de pagamento. Essa configuração aumenta a segurança da transação e ajuda a evitar o uso não autorizado de cartões.

Otimização de performance (via Admin)

Se você usa o VTEX IO, ative a otimização do orderForm para melhorar o carregamento do checkout:

  1. No Admin, acesse Configurações da Loja > Storefront > Checkout.
  2. Vá até a aba Avançado.
  3. Ative o botão Habilitar otimização do orderForm.
  4. Clique em Salvar.

📘

Para mais informações, acesse Boas práticas contra ataques virtuais: Configurações do orderForm

Contato VTEX

Em caso de dúvidas, problemas de configuração ou identificação de bugs, entre em contato com o time da VTEX pelos canais oficiais:

  • Abrindo um ticket no canal de suporte.
  • Diretamente pelo Admin VTEX, utilizando a IA Copilot.

© 1996- Todos os direitos reservados.

PAGSEGURO INTERNET INSTITUIÇÃO DE PAGAMENTO S/A - CNPJ/MF 08.561.701/0001-01

Av. Brigadeiro Faria Lima, 1.384, São Paulo - SP - CEP 01451-001