Pular para o conteúdo principal
Nesta página

Integre a impressão digital do dispositivo DEUNA para mecanismos antifraude e de pagamento em sua aplicação.

Você deve gerar suas próprias impressões digitais para a maioria dos mecanismos.

DEUNA oferece um script/SDK que cria todas as impressões digitais necessárias para evitar tarefas manuais para cada script de impressão digital.

Integra a impressão digital do dispositivo de mecanismos antifraude e de pagamento.

Web SDK < 1.6

Esta seção descreve o comportamento atual publicado. Use-o se você executar o Web SDK abaixo de 1.6 ou Cross-domain abaixo de 1.2.

1. Adicione o script do Mercado Pago#

Este script carrega automaticamente tudo o que é necessário para criar a Impressão Digital do Dispositivo, que é enviada no processamento no Mercado Pago ou qualquer que seja o mecanismo antifraude ou de pagamento.

O Mercado Pago e outros provedores exigem essas informações para garantir a transação.

javascrptJavaScript
window.DEUNA_CREDENTIALS = {  
  <provider name>: {},  
}

// example
window.DEUNA_CREDENTIALS = {  
  MERCADOPAGO: {},  
}

2. Select the suppliers (only needed for Web SDK < 1.6)#

Selecione fornecedores de mecanismos antifraude.

A tabela a seguir contém atributos para os mecanismos suportados pelo widget:

Motor

Atributos

Exemplo

BAZ

orgId, comercianteId

BAZ: { orgId: '', merchantId: '' }

CLEARSALE / CLEARSALE-BRASIL

ID do cliente

CLEARSALE: { clientId: '' } CLEARSALE-BRASIL: { clientId: '' }

CYBERSOURCE

orgId, comercianteId

CYBERSOURCE: { orgId: '', merchantId: '' }

MERCADOPAGO

Não requer parâmetros no nível Merchant_id

MERCADOPAGO: {}

SIFT

ID da conta, restApiKey

SIFT: { accountId: '', restApiKey: '' }

SIGNIFYD

Conta e e-mail: obrigatórios para todas as implementações.

Session ID é apenas obrigatório se o seu sistema comercial gerar o sessionId antes do DEUNA. Isso geralmente se aplica quando você envia eventos diretamente para o Signifyd e precisa que os eventos enviados pela DEUNA correspondam à mesma sessão do Signifyd.

Neste caso, deverá enviar o mesmo sessionId à DEUNA para que todos os eventos possam ser devidamente vinculados no Signifyd.

Se você não gerar um sessionId ou não enviar eventos diretamente para Signifyd, não será necessário gerar ou enviar este campo para DEUNA.s

Org ID é obrigatório para implementação de aplicativos nativos. Esta diferença de requisitos da Web vem da Signifyd e NÃO da DEUNA. O motivo mencionado pelo Signifyd é: O orgId é necessário para o SDK móvel porque, diferentemente da web – onde o script TMX associa automaticamente a sessão à conta Signifyd por meio do snippet JavaScript – o SDK móvel precisa que ele seja configurado para vincular corretamente a impressão digital do dispositivo à conta correspondente.

SIGNIFYD: {account: '', email: '', sessionId: '', orgId: '<needed for native apps>}

STRIPE

API_KEY

STRIPE: { apiKey: '' }

RISKIFIED

storeDomain

RISKIFIED: { storeDomain: '' }

ACCERTIFY

src, coletorHostSrc, sid, id, dvc

ACCERTIFY: { src: '', collectorHostSrc: '', sid: '', id: '', dvc: '' }

KOUNT

clientId, ambiente, isSinglePageApp

KOUNT: { clientId: '', environment: '', isSinglePageApp: ''},

KOIN

orgId

KOIN: { orgId: ''}

PAYU

Não requer parâmetros no nível Merchant_id

PAYU: {}

3. Gere as impressões digitais#

Gere impressões digitais dependendo do seu tipo de integração.

3.1 Widget de pagamento DEUNA

Veja o exemplo do Web SDK para initPaymentWidget.


3.2 API direta

Adicione o script de impressão digital.

O script inclui um SDK DEUNA que é capaz de gerar impressões digitais de qualquer provedor em uma única integração.

SDK Web

  1. Siga as etapas para adicionar e inicializar o Web SDK.
  2. Use o script para gerar a impressão digital.
html
<script>
    var script = document.createElement("script");
    script.id = "deuna-sdk";
    script.src = "https://cdn.deuna.io/web-sdk/v1.6/index.js";
    
    script.onload = async function () {  // ✅ Make function async
        // Initialize the SDK
        await DeunaSDK.initialize({
            publicApiKey: "<public api key>",
            env: "sandbox"  // "sandbox" or "production"
        });

        // Get the MasterDeviceId from DEUNA
        const fraudId = await DeunaSDK.generateFraudId({
            someProvider: {  // ✅ Replace with actual provider name
                // provider-specific data
            }
        });

        console.log("Fraud ID:", fraudId);
    };

    document.body.appendChild(script);
</script>

SDK iOS

  1. Siga as etapas para adicionar e inicializar o DEUNA SDK.
  2. Use a função generateFraudId para gerar a impressão digital.
Swift
deunaSDK.generateFraudId(
  params: [
    "RISKIFIED": [
      "storeDomain": "volaris.com"
    ]
  ]
) { fraudId in
   
}

SDK Android

  1. Siga as etapas para adicionar e inicializar o DEUNA SDK.
  2. Use a função generateFraudId para gerar a impressão digital.
Kotlin
deunaSDK.generateFraudId(
  context = context,
  params = mapOf(
    "RISKIFIED" to mapOf(
      "storeDomain" to "deuna.com"
    )
  ),
  callback = { fraudId ->
  }
)
  1. Obtenha o valor da impressão digital do dispositivo e envie-o por meio de Comprar V2:
JSON
  {
    "payer_info": {
      "email": "john@doe.com",
      "card_holder_dni": "12345678"
    },
    "payment_source": {
      "method_type": "debit_card",
      "card_info": {
        "card_id": "<card id>"
      }
    },
    "order": {
      "order_id": "DEUNA-NOW-69553619",
       // ...
    },
    "anti_fraud_info": { // dentro de este objeto se manda el fingerprint
      "device": {
        // mandar el fingerprint como base64
        "id": "<device fingerprint generated by the DEUNA Fraud SDK>"
      }
    }
  }

3.3 Conector VTEX

Veja esta seção: /docs/vtex-device-fingerprin

SDK da Web ≥ 1,6

Use esta seção se você executar o Web SDK 1.6 ou posterior.

Nestas versões, a equipe DEUNA configura as credenciais antifraude. Isso muda a integração de três maneiras:

  • Você faz não adicione o script do Mercado Pago. O window.DEUNA_CREDENTIALS objeto não é mais necessário.
  • Você faz não use a etapa de impressão digital do widget de pagamento DEUNA. Não é mais necessário.
  • O comerciante não envia mais fraudCredentials. DEUNA define esses valores para você.

Exceção SIGNIFYD#

SIGNIFYD é o único fornecedor que ainda precisa da opinião do comerciante nessas versões. O comerciante deve passar pelo email da sessão do usuário em generateFraudId.

Script de inicialização#

Adicione e inicialize o SDK. Nessas versões você chama generateFraudId sem credenciais fornecidas pelo comerciante:

HTML
<script>
    var script = document.createElement("script");
    script.id = "deuna-sdk";
    script.src = "https://cdn.deuna.io/web-sdk/v1.6/index.js";

    script.onload = async function () {  // ✅ Make function async
        await DeunaSDK.initialize({
            publicApiKey: "<public api key>",
            env: "sandbox"  // "sandbox" or "production"
        });

        const fraudId = await DeunaSDK.generateFraudId();
        console.log("Fraud ID:", fraudId);
    };

    document.body.appendChild(script);
</script>

Snippet SIGNIFYD (≥ 1,6)#

Para SIGNIFYD, passe o email da sessão do usuário:

JavaScript
const fraudId = await DeunaSDK.generateFraudId({
    SIGNIFYD: { email: "<email from user session>" }
});