メインコンテンツへスキップ
このページで

Integrar el "device fingerprint" de DEUNA para motores anti-fraude y de pago en su aplicación.

Debe generar sus propios "fingerprints" para la mayoría de los motores.

DEUNA ofrece un script / SDK que crea todos los "fingerprints" necesarios para evitar tareas manuales para cada script de "fingerprint".

Integra el "device fingerprint" de motores anti-fraude y de pago.

Web SDK < 1.6

Esta sección describe el comportamiento publicado actual. Utilícela si está utilizando Web SDK inferior a 1.6 o Cross-domain inferior a 1.2.

1. 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 cualquier otro motor anti-fraude o de pago.

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

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

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

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

Seleccionar proveedores de motores anti-fraude.

La siguiente tabla contiene atributos para los motores compatibles con el widget:

Motor

Atributos

例

BAZ

orgId, merchantId

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

CLEARSALE / CLEARSALE-BRASIL

ClientId

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

CYBERSOURCE

orgId, merchantId

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

MERCADOPAGO

No requiere parámetros a nivel de merchant_id

MERCADOPAGO: {}

SIFT

accountId, restApiKey

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

SIGNIFYD

アカウントとメールアドレス: すべての実装で必須です。

Session ID solo 必須 貴社のシステムがsessionIdを生成した場合。これは、通常、Signifydに直接イベントを送信し、DEUNAからのイベントを同じSignifydセッションに照合する必要がある場合に適用されます。

この場合、Signifydですべてのイベントを正しく関連付けるために、同じsessionIdをDEUNAに送信する必要があります。

Si no genera un sessionId o no envía eventos directamente a Signifyd, no necesita generar ni enviar este campo a DEUNA.

Org ID 経由で提供されます。 必須 para la implementación de aplicaciones nativas. Esta diferencia de requisito con Web proviene de Signifyd y NO de DEUNA. La razón por la que Signifyd menciona es: orgId はモバイル SDK では必須です。ウェブ版とは異なり、TMX スクリプトが JavaScript スニペットを通じてセッションを Signifyd アカウントと自動的に関連付けますが、モバイル SDK では、デバイスのフィンガープリントを対応するアカウントに正しく関連付けるために、事前に設定する必要があります。

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

STRIPE

API_KEY

STRIPE: { apiKey: '' }

RISKIFIED

storeDomain

RISKIFIED: { storeDomain: '' }

ACCERTIFY

src, collectorHostSrc, sid, id, dvc

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

KOUNT

clientId, environment, isSinglePageApp

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

KOIN

orgId

KOIN: { orgId: ''}

PAYU

No requiere parámetros a nivel de merchant_id

PAYU: {}

3. フィンガープリントの生成#

統合の種類に応じてフィンガープリントを生成します。

3.1 DEUNA 決済ウィジェット

ウェブ SDK の例を参照してください。 initPaymentWidget.


3.2 Direct API

フィンガープリントスクリプトを追加します。

このスクリプトには、単一の統合で任意のプロバイダーから指紋を生成できるDEUNA SDKが含まれています。

Web SDK

  1. Web SDK の追加と初期化の手順に従ってください。
  2. スクリプトを使用してフィンガープリントを生成します。
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>

iOS SDK

  1. DEUNA SDK の追加と初期化の手順に従ってください。
  2. 関数を使用してください。 generateFraudId デバイスのフィンガープリントを生成するために。
Swift
deunaSDK.generateFraudId(
  params: [
    "RISKIFIED": [
      "storeDomain": "volaris.com"
    ]
  ]
) { fraudId in
   
}

Android SDK

  1. DEUNA SDK の追加と初期化の手順に従ってください。
  2. 関数を使用してください。 generateFraudId デバイスのフィンガープリントを生成するために。
Kotlin
deunaSDK.generateFraudId(
  context = context,
  params = mapOf(
    "RISKIFIED" to mapOf(
      "storeDomain" to "deuna.com"
    )
  ),
  callback = { fraudId ->
  }
)
  1. デバイスフィンガープリントの値を取得し、次の方法で送信します: Purchase 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 VTEX コネクタ

このセクションを参照してください: /docs/vtex-device-fingerprin

Web SDKの≥ 1.6

このセクションは、Web SDK 1.6 以降を使用している場合に適用されます。

これらのバージョンでは、DEUNA チームが不正防止の認証情報を設定します。これにより、統合は以下の3つの点で変更されます。

  • あなたは …の場合に使用されます。 Mercado Pago スクリプトを追加します。 window.DEUNA_CREDENTIALS オブジェクトは不要になりました。
  • あなたは …の場合に使用されます。 DEUNA 決済ウィジェットのフィンガープリントステップを使用します。 これで不要になりました。
  • 商人は、もう送信しません。 fraudCredentials* DEUNA がこれらの値を設定します。

Excepción SIGNIFYD#

SIGNIFYDは、これらのバージョンにおいて、まだ商社からの入力が必要な唯一のプロバイダーです。商社は、以下の情報をSIGNIFYDに提供する必要があります。 email ユーザーセッションから generateFraudId.

初期化スクリプト#

SDKをインストールおよび初期化します。これらのバージョンでは、以下のメソッドを呼び出します。 generateFraudId 商社が提供する認証情報なしで

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>

SIGNIFYD スニペット (1.6 以降)#

Signifyd の場合、以下の情報を渡してください。 email ユーザーセッションから

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