Device fingerprint

Device Fingerprint de motores anti-fraude y de pagos

Requisitos

Para la mayoría de motores es necesario que generes tus fingerprints.

DEUNA ofrece un único script / SDK que detrás de cámaras crea todos los fingerprints para evitar tareas manuales en cada uno de los fingerprint scripts.

📘

Para Mercado Pago, todos los clientes deben agregar un script al activar Mercado Pago con DEUNA.

Integra Device fingerprint

Integra el device fingerprint de motores anti-fraude y de pagos.

1. Agrega el script de Mercado Pago

Este script carga automáticamente todo lo necesario para crear el Device Fingerprint, que se envía al procesar con Mercado Pago o quien sea el motor anti-fraude o de pagos.

Mercado Pago y otros proveedores requieren esta información para asegurar la transacción.

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

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

🚧

Sin el script, hay una mayor probabilidad de que tu transacción sea rechazada. Mercado Pago utiliza este identificador para asegurar que tu transacción no sea fraudulenta.

2. Selecciona los proveedores

Selecciona los proveedores de motor anti-fraude.

📘

Consulta los Proveedores globales o el offering de Motores anti-fraude para más información.

La siguiente tabla contiene atributos para los motores soportados por el widget:

MotorAttributosEjemplo
BAZorgId, merchantIdBAZ: { orgId: '', merchantId: '' }
CLEARSALE
/ CLEARSALE-BRASIL
ClientIdCLEARSALE: { clientId: '' }
CLEARSALE-BRASIL: { clientId: '' }
CYBERSOURCEorgId, merchantIdCYBERSOURCE: { orgId: '', merchantId: '' }
MERCADOPAGODoes not require parameters at the merchant_id levelMERCADOPAGO: {}
SIFTaccountId, restApiKeySIFT: { accountId: '', restApiKey: '' }
SIGNIFYDDoes not require parameters at the merchant_id levelSIGNIFYD: {}
STRIPEAPI_KEYSTRIPE: { apiKey: '' }
RISKIFIEDstoreDomainRISKIFIED: { storeDomain: '' }
ACCERTIFYid, dvcACCERTIFY: { id: '', dvc: '' }

3. Genera los fingerprints

Genera los fingerprints dependiendo de tu tipo de integración.

3.1 Payment widget de DEUNA:

  1. Agrega el script. Incluye el código de integración antes de cargar el widget de DEUNA.
window.DEUNA_CREDENTIALS = {  
  <provider name>: {},  
}

// example
window.DEUNA_CREDENTIALS = {  
  MERCADOPAGO: {},  
}
  1. Asegura el orden de carga.

    📘

    Asegúrate de que el script se cargue antes de presionar el botón de pago y mostrar el modal.

  2. Verifica de no estar cargar el código del proveedor de pagos o anti-fraude desde Google Tag Manager u otra fuente.
  3. Valida las credenciales en la consola de desarrollador:
window.DEUNA_CREDENTIALS

📘

Esto debería mostrar el mismo script que configuraste anteriormente. Con esto ya sabes que se configuró correctamente.

📘Estas medidas garantizarán que tu implementación con DEUNA y el proveedor sea exitosa y sin problemas.

3.2 Integración vía API

Agrega el script de fingerprint.

Este script incluye un SDK de DEUNA que es capaz de generar los fingerprints de cualquier proveedor bajo solo una integración.

📘

Los ejemplos generan el fingerprint del proveedor:

  • Web SDK: Sigue los pasos para agregar e inicializar el SKD web. Después usa el script para generar el fingerprint.
<script>
    var script = document.createElement("script");
    script.id = "deuna-sdk";
    script.src = "https://cdn.deuna.io/web-sdk/v1.1/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>
  • iOS SDK: Sigue los pasos para agregar e inicializar el SDK DEUNA. Después utiliza la función generateFraudId para generar el fingerprint.
    deunaSDK.generateFraudId(
      params: [
        "RISKIFIED": [
          "storeDomain": "volaris.com"
        ]
      ]
    ) { fraudId in
       
    }
    
  • Android SDK: Sigue los pasos para agregar e inicializar el SDK DEUNA. Después utiliza la función generateFraudId para generar el fingerprint
    deunaSDK.generateFraudId(
      context = context,
      params = mapOf(
        "RISKIFIED" to mapOf(
          "storeDomain" to "deuna.com"
        )
      ),
      callback = { fraudId ->
      }
    )
    
  1. Obtén el valor del device fingerprint y envíalo a través de la API de Pagos.
  {
      "token": "e4caabfb-3ed5-4930-a4fc-dd6e4812bd03", // order token
      "email": "john.doe@gmail",
      "method_type": "credit_card", 
      ...
      // mandar el fingerprint como base64
      "device_id": "<device fingerprint generated by the DEUNA Fraud SDK>",
      ...
  }
  {
    "payer_info": {
      "email": "[email protected]",
      "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 de VTEX

📘

También puedes generar los fingerprints con la integración en VTEX fingerprint.