> ## 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.

# ClearSale

> 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>;
};

A ClearSale é uma empresa brasileira especializada em soluções de prevenção e gestão de fraudes para e-commerce e meios de pagamento. Em nossa integração, pode atuar em modo realtime e/ou assíncrono para análise de risco de transações.
[Mais informações.](https://www.clearsale.com.br/)

## Funcionalidades suportadas pelo antifraude

| Provedor                                                                                                                      |                  Realtime                 |                 Assíncrono                |
| ----------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------: | :---------------------------------------: |
| <ProviderImage src="https://malga-docs-prod.s3.amazonaws.com/icons/clearsale.svg">Clearsale Realtime Decision</ProviderImage> | <CheckIcon type="check" mode="success" /> |  <CheckIcon type="xmark" mode="error" />  |
| <ProviderImage src="https://malga-docs-prod.s3.amazonaws.com/icons/clearsale.svg">Clearsale Tickets</ProviderImage>           | <CheckIcon type="check" mode="success" /> | <CheckIcon type="check" mode="success" /> |
| <ProviderImage src="https://malga-docs-prod.s3.amazonaws.com/icons/clearsale.svg">Clearsale Total</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 ClearSale ao seu checkout

Esta seção guia você passo a passo para integrar a ClearSale 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, 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
* **merchant-id**, **username**, **password**: converse com nosso time para obter as credenciais

```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": "CLEARSALE",
            "priority": 1,
            "credentials": {
                "type": "CLEARSALE",
                "name": "<username>",
                "password": "<password>"
            },
            "options": {
                "type": "ANTIFRAUD",
                "captureOnError": false,
                "captureOnApproved": true,
                "refundOnError": false,
                "refundOnReproved": true,
                "runBeforeCharge": false
            }
        }
    ]
}'
```

Para mais detalhes sobre cadastro de merchants, consulta a página [criação de novos merchants](api-reference/merchants/criacao-de-novo-merchant-para-cobranca)

### 2. 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.

```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": "<merchant-id>",
    "amount": 150,
    "currency": "BRL",
    "statementDescriptor": "LOJA JOAO",
    "description": "Descrição longa da cobrança",
    "capture": false,
    "orderId": "<order-id>",
    "paymentMethod": {
        "paymentType": "credit",
        "installments": 1
    },
    "paymentSource": {
        "sourceType": "card",
        "card": {
            "cardNumber": "5261424250184574",
            "cardCvv": "321",
            "cardExpirationDate": "06/2028",
            "cardHolderName": "JOAO DA SILVA"
        }
    },
     "fraudAnalysis": {
        "mfa": { 
            "smsOtpUsed": true, 
            "emailOtpUsed": true 
        },
        "customer": {
            "name": "John Doe",
            "identity": "12345678909",
            "identityType": "CPF",
            "secondaryIdentity": "11222333000181",
            "secondaryIdentityType": "CNPJ",
            "email": "john.doe@example.com",
            "birthdate": "1990-01-01",
            "registrationDate": "2023-01-01 10:00:00",
            "phone": "+5511999999999",
            "maritalStatus":"Solteiro", 
            "education":"Ensino Superior Completo", 
            "billingAddress": {
                "street": "Rua A",
                "number": "123",
                "complement": "Apto 45",
                "zipCode": "01000-000",
                "city": "São Paulo",
                "state": "SP",
                "country": "BR",
                "district": "Centro",
                "reference": "Próximo à praça"
            },
            "deliveryAddress": {
                "street": "Rua B",
                "number": "456",
                "complement": "Casa",
                "zipCode": "02000-000",
                "city": "São Paulo",
                "state": "SP",
                "country": "BR",
                "district": "Vila X",
                "reference": "Portão azul"
            },
            "browser": {
                "browserFingerprint": "fp-abc-123",
                "cookiesAccepted": true,
                "email": "john.browser@example.com",
                "hostName": "example.com",
                "ipAddress": "203.0.113.10",
                "type": "Chrome"
            },
            "gender": "male"
        },
        "cart": {
            "items": [
                {
                    "name": "Produto 1",
                    "quantity": 1,
                    "sku": "SKU-001",
                    "unitPrice": 1000,
                    "risk": "Low",
                    "description": "Descrição do produto",
                    "categoryId": "123",
                    "locality": "SP",
                    "date": "2025-09-10 12:00:00",
                    "type": 1,
                    "genre": "xpto"
                }
            ],
            "isGift": true,
            "giftMessage": "Parabéns!"
        },
        "device": {
            "id": "device-123",
            "os": {
                "type": "iOS",
                "version": "16.5"
            },
            "model": "iPhone 14",
            "resolution": "1170x2532",
            "ramCapacity": 4096,
            "diskCapacity": 128000,
            "freeDiskSpace": 64000,
            "vendors": [
                {
                    "name": "carrier",
                    "value": "Vivo"
                }
            ],
            "vendorAttributes": {
                "flash": true,
                "phoneCalls": true,
                "sendSms": true,
                "videoCamera": true,
                "cpuCount": 8,
                "simulator": false,
                "retinaDisplay": true,
                "frontCamera": true,
                "camera": true,
                "language": "pt-BR",
                "idiom": "pt-BR",
                "platform": "mobile",
                "name": "Apple",
                "family": "iPhone",
                "model": "14"
            }
        },
        "airline": {
            "passengers": [
                {
                    "name": "John Doe",
                    "companyMileCard": "LATAM",
                    "mileCard": "MILE-12345",
                    "identityType": "CPF",
                    "identityNumber": "12345678909",
                    "gender": "male",
                    "birthdate": "1990-01-01",
                    "cpf": "12345678909"
                }
            ],
            "connections": [
                {
                    "company": "LATAM",
                    "identificationNumber": 1234,
                    "date": "2025-09-15 10:00:00",
                    "seatClass": "Economy",
                    "origin": "GRU",
                    "destination": "GIG",
                    "boarding": "2025-09-15 09:30:00",
                    "arriving": "2025-09-15 11:30:00",
                    "fareClass": "Y"
                }
            ],
            "reservation": "2025-09-01"
        },
        "orderOrigin": "web",
        "operationalSystem": "iOS 16.5",
        "marketplaceType": "b2c",
        "purchaseInformation": {
            "lastDateInsertedMail": "2025-06-01",
            "lastDateChangePassword": "2025-07-01",
            "lastDateChangePhone": "2025-06-15",
            "lastDateChangeMobilePhone": "2025-06-16",
            "lastDateInsertedAddress": "2025-05-20",
            "purchaseLogged": true,
            "email": "user@example.com",
            "login": "userlogin"
        },
        "socialNetwork": {
            "optInCompreConfie": true,
            "socialNetworkType": "facebook",
            "authenticationToken": "token-abc"
        },
        "giftList": {
            "type": "wedding_list",
            "id": "list-123"
        },
        "hotels": [
            {
                "name": "Hotel ABC",
                "city": "São Paulo",
                "state": "SP",
                "country": "BR",
                "reservationDate": "2025-10-01",
                "reserveExpirationDate": "2025-09-20",
                "checkInDate": "2025-10-05",
                "checkOutDate": "2025-10-10"
            }
        ],
        "country": "BR",
        "sessionId": "session-123"
    }
}'
```

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