> ## Documentation Index
> Fetch the complete documentation index at: https://docs.malga.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Konduto

> Provedor de antifraude

export const ProviderImage = ({src, backgroundColor = '#F9F9F9', children, docUrl, id}) => {
  const borderColors = {
    '#F9F9F9': '#E5E5E5',
    '#030303': '#4D4D4D'
  };
  const borderColor = borderColors[backgroundColor];
  const img = <>
    <img className="rounded-lg p-2 m-0" id={id} src={src} noZoom style={{
    background: backgroundColor,
    border: `solid 3px ${borderColor}`,
    width: "36px",
    height: "36px"
  }} />
    <p className="m-0">{children}</p>
  </>;
  if (docUrl) {
    return <a className="flex items-center gap-2 flex-row border-none" href={docUrl}>
        {img}
      </a>;
  }
  return <div className="flex items-center gap-2 flex-row" href={docUrl}>
      {img}
    </div>;
};

export const CheckIcon = ({mode, type, id}) => {
  const colorIcons = {
    'error': '#919191',
    'success': '#00AE42',
    'noSupported': '#919191'
  };
  const foundColor = colorIcons[mode];
  const iconType = mode === 'noSupported' ? type : `circle-${type}`;
  return <div className="check-icon" id={id}>
      <Icon icon={iconType} iconType="regular" color={foundColor} size={18} />
    </div>;
};

Provedor de soluções de prevenção a fraudes com foco em análise de risco para transações online, utilizando machine learning para avaliação do comportamento do comprador. A Konduto atua em modo realtime e assíncrono para avaliação das transações.
[Mais informações.](https://www.konduto.com)

## Funcionalidades suportadas pelo antifraude

| Provedor                                                                                                |                  Realtime                 |                 Assíncrono                |
| ------------------------------------------------------------------------------------------------------- | :---------------------------------------: | :---------------------------------------: |
| <ProviderImage src="https://malga-docs-prod.s3.amazonaws.com/icons/konduto.svg">Konduto</ProviderImage> | <CheckIcon type="check" mode="success" /> | <CheckIcon type="check" mode="success" /> |

<br />

<div className="flex flex-col gap-2 justify-center items-start">
  <div className="flex items-center justify-center gap-4 table-legend">
    <CheckIcon type="check" mode="success" />

    Este serviço ou método é oferecido pelo provedor e suportado pela API da
    Malga
  </div>

  <div className="flex items-center justify-center gap-4 table-legend">
    <CheckIcon type="xmark" mode="error" />

    Este serviço ou método não é oferecido pelo provedor
  </div>

  <div className="flex items-start justify-center gap-4 table-legend">
    <CheckIcon type="check" mode="noSupported" />

    Este serviço ou método é oferecido pelo provedor e ainda não é suportado
    pela API da Malga. Caso tenha interesse em utilizar este recurso, contate o
    nosso time de atendimento pelo e-mail
    <a href="mailto:suporte@malga.io">[suporte@malga.io](mailto:suporte@malga.io)</a>.
  </div>

  <div className="flex items-center justify-center gap-4 table-legend">
    <CheckIcon type="minus" mode="noSupported" />

    Não se aplica
  </div>
</div>

<br />

## Integrando a Konduto ao seu checkout

Esta seção guia você passo a passo para integrar a Konduto ao seu fluxo de checkout, garantindo a correta prevenção de fraudes.

### 1. Obtenha seus dados de integração

Após solicitar e receber os dados de integração com a Konduto, configure-os no merchant da Malga. Estes dados são essenciais para autenticar e habilitar o serviço.

* **api-key** e **client-id**: dúvidas sobre api-key e client-id consulte a página sobre [autenticação](/api-reference/authentication) para mais detalhes
* **secret-key**: chave secreta de API fornecida pela Konduto para autenticação

```bash theme={null}
curl --location 'https://api.malga.io/v1/merchants' \
--header 'X-Client-Id: <client-id>' \
--header 'X-Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "mcc": "4789",
    "providers": [
        {
            "name": "KONDUTO",
            "priority": 1,
            "credentials": {
                "type": "KONDUTO",
                "secretKey": "<secret-key>"
            },
            "options": {
                "type": "ANTIFRAUD",
                "captureOnApproved": true,
                "refundOnReproved": true,
                "runBeforeCharge": false
            }
        }
    ]
}'
```

### 2. Configure o fingerprint do navegador

A Konduto utiliza o fingerprint do navegador para enriquecer a análise de risco. Inclua o SDK da Konduto no seu checkout e capture o identificador do visitante antes de realizar a transação.

```html index.html lines icon="html" theme={null}
<!-- SDK de Fingerprint da Konduto -->
<script src="https://i.k-analytix.com/k.js" type="text/javascript"></script>
```

Após a inclusão, capture o identificador do visitante e envie-o no campo `browser.browserFingerprint` da requisição:

```javascript index.js lines icon="javascript" theme={null}
// Aguarda a captura do fingerprint pela Konduto
var period = 300;
var limit = 20 * 1000 / period;
var attempts = 0;

var interval = setInterval(function() {
    var kId = Konduto.getVisitorID();

    if (kId || attempts >= limit) {
        clearInterval(interval);
        // Utilize o kId como browserFingerprint na requisição de cobrança
        console.log("Konduto Visitor ID:", kId);
    }

    attempts++;
}, period);
```

### 3. Crie uma transação com a API da Malga

Adicione o objeto de [fraudAnalysis](/api-reference/charges/realizar-nova-cobranca#body-fraud-analysis) ao body quando realizar nova cobrança. O campo `browser.browserFingerprint` deve ser preenchido com o visitor ID capturado pelo SDK da Konduto.

```bash theme={null}
curl --location 'https://api.malga.io/v1/charges' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--header 'X-Client-Id: <client-id>' \
--data-raw '{
    "merchantId": "7f8870a2-71c9-4ef0-a531-82000e00b7e1",
    "amount": 15000,
    "currency": "BRL",
    "statementDescriptor": "LOJA JOAO",
    "description": "Descrição longa da cobrança",
    "capture": false,
    "orderId": "32c68ff7-902c-408b-b464-cf487c7cda97",
    "paymentMethod": {
        "paymentType": "credit",
        "installments": 1
    },
    "paymentSource": {
        "sourceType": "card",
        "card": {
            "cardNumber": "5261424250184574",
            "cardCvv": "321",
            "cardExpirationDate": "06/2028",
            "cardHolderName": "JOAO DA SILVA"
        }
    },
    "fraudAnalysis": {
        "sla": 10,
        "customer": {
            "name": "Joao Torres",
            "phone": "11 99329899",
            "email": "joao@gmail.com",
            "identity": "45762964851",
            "identityType": "CPF",
            "birthdate": "1990-01-15T00:00:00.000Z",
            "registrationDate": "2022-07-26T16:11:35.756Z",
            "billingAddress": {
                "street": "Rua Um",
                "number": "200",
                "zipCode": "02010010",
                "country": "BR",
                "state": "SP",
                "district": "Jardim Paraiso",
                "city": "Sao Paulo",
                "complement": "ap 10"
            },
            "browser": {
                "browserFingerprint": "074c1ee676ed4998ab66491013c565e2", // kid Konduto
                "ipAddress": "127.0.0.1"
            }
        },
        "cart": {
            "items": [
                {
                    "name": "Tênis Esportivo",
                    "description": "Tênis esportivo masculino tamanho 42",
                    "quantity": 1,
                    "sku": "TNS-42-ESP",
                    "unitPrice": 15000
                }
            ]
        }
    }
}'
```

Para mais detalhes sobre como realizar uma nova cobrança, consulte a página de [novas cobranças](api-reference/charges/realizar-nova-cobranca).

<br />

Se você possui interesse em receber cotações e avaliar este provedor antifraude para o seu fluxo de pagamentos, entre em contato com o nosso time para avaliar.
