> For the complete documentation index, see [llms.txt](https://docs.barte.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.barte.com/guias/inicio/como-configurar-o-antifraude.md).

# Como configurar o Antifraude

A documentação para a instalação de um script de antifraude no checkout, utilizando React, segue abaixo. Este guia tem como objetivo fornecer uma visão clara e direta para integrar o script de antifraude de forma eficiente e segura no processo de checkout da sua aplicação.

### **Visão Geral**

O script de antifraude tem como objetivo monitorar e analisar o comportamento do usuário durante o preenchimento de dados sensíveis no checkout (como informações do cartão de crédito) para identificar padrões de fraude. A integração deste script aumenta a segurança nas transações, minimizando o risco de fraudes.

### **Pré-requisitos**

* Acesso ao checkout onde os dados do usuário são capturados.

### **Passo a Passo**

#### 1. Preparação do Script

O script deve ser iniciado assim que os dados do cartão de crédito ou do usuário começarem a ser capturados na página de checkout. Isso assegura a monitoração desde o início da inserção de dados sensíveis.

#### 2. Integração do Script no React (Exemplo)

Inclua o seguinte trecho de código no componente React do seu checkout:

```jsx

import React, { useEffect, useState } from 'react';
import { v4 as uuidv1 } from 'uuid';

function Checkout() {
  const [attempt_reference, setAttempt_reference] = useState(uuidv1());

  useEffect(() => {
    if (attempt_reference) {
      const nethoneScript = document.createElement("script");
      nethoneScript.type = "text/javascript";
      nethoneScript.id = "nethone-script";
      nethoneScript.crossOrigin = "use-credentials";
      nethoneScript.src = "<https://d354c9v5bptm0r.cloudfront.net/s/68741/dQItJr.js>";
      nethoneScript.async = true;
      document.body.appendChild(nethoneScript);
      nethoneScript.onload = () => {
        localStorage.setItem("attempt_reference", attempt_reference);
        const nethoneOptions = {
          attemptReference: attempt_reference,
          sensitiveFields: ["cardHolderName", "cardCvv", "cardExpirationDate", "cardNumber"],
        };
        if (window.dftp) {
          window.dftp.init(nethoneOptions);
        } else {
          nethoneScript.addEventListener("load", () => {
            if (window.dftp) {
              window.dftp.init(nethoneOptions);
            }
          });
        }
      }
    }
  }, [attempt_reference]);

  // Conteúdo do componente de checkout vai aqui

  return (
    <div>
      {/* Seu formulário de checkout */}
    </div>
  );
}

export default Checkout;

```

#### 3. Geração do **`attemptReference`**

O **`attemptReference`** é um identificador único necessário para rastrear os comportamentos do usuário durante a sessão de checkout. Este identificador deve ser gerado toda vez que a página de checkout for recarregada para assegurar a unicidade da sessão.

#### 4. Envio do **`attemptReference`** na API de Payments/Orders

Quando o usuário finalizar o processo de checkout, inclua o **`attemptReference`** no corpo da requisição enviada à API de Orders. Isso permitirá a verificação de potenciais fraudes antes que a transação seja processada pelo provedor.

```json

{
    "startDate": "2024-02-15",
    "value": 3.50,
    "installments": 1,
    "title": "Order de webhook",
    "attemptReference" : "5c8d1bf6-9d64-40d9-b2f0-94e95ec728ab", //aqui o 
    //attempReference do antifraude
    "description": "Descrição opcional da order",
    "payment": {
        "method": "CREDIT_CARD_EARLY_SELLER",
        "card": {
            "holderName": "JOSE DAS NEVES TEST",
            "number": "5383638854440891",
            "cvv": 220,
            "expiration": "12/2024"
        },
        "fraudData": {
	    "document": "41011660059",
            "name": "Tester",
            "email": "teste@barte.com",
            "phone": "62984812743",
            "billingAddress": {
                "country": "BR",
                "state": "Goiás",
                "city": "Goiânia",
                "district": "Setor Bueno",
                "street": "Rua t 65",
                "zipCode": "74230120",
                "number": "1061",
                "complement": "Ap 2301"
            }
        }
    },
    "uuidBuyer": "7b28ad57-52fc-44ff-9716-2b70b4b44120"
}

```

#### Verificação de Fraudes

Com o **`attemptReference`** enviado, o sistema de antifraude poderá analisar os comportamentos registrados e determinar se a transação possui características suspeitas de fraude antes de ser processada.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.barte.com/guias/inicio/como-configurar-o-antifraude.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
