Integrar Device Fingerprint de Motores Anti-Fraude y de Pagos
Requisitos
Para la mayoría de motores anti-fraude y algunos proveedores de pago, es indispensable que el comercio genere sus fingerprints. Por ejemplo, para Mercado Pago, todos los clientes, sin excepción, deben agregar el siguiente script al activar Mercado Pago con DEUNA. Para que los comercios no tengan que agregar manualmente cada uno de los fingerprint scripts, DEUNA ofrece un único script / SDK que detrás de cámaras crea todos los fingerprints.
¿Qué hace el script?
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.
¿Qué sucede si no lo agregas?
Hay una mayor probabilidad de que tu transacción sea rechazada, ya que por ejemplo Mercado Pago utiliza este identificador para asegurar que tu transacción no sea fraudulenta. Además, Mercado Pago y otros proveedores requieren esta información para asegurar la transacción. Estas razones son las mismas que otros proveedores dan (i.e. Cybersource, ClearSale, etc.)
Pasos de integración:
Selecciona los proveedores que debes generar los fingerprints
You can consult the following link where you can review the anti-fraud providers supported with DEUNA. We also give you a table with all the supported attributes for each of the anti-fraud engine options supported by the widget.
Name | Attributes | Example |
---|---|---|
SIGNIFYD | Does not require parameters at the merchant_id level | SIGNIFYD: {} |
SIFT | accountId, restApiKey | SIFT: { accountId: '', restApiKey: '' } |
CLEARSALE | ClientId | CLEARSALE: { clientId: '' } |
CLEARSALE-BRASIL | ClientId | CLEARSALE-BRASIL: { clientId: '' } |
CYBERSOURCE | orgId, merchantId | CYBERSOURCE: { orgId: '', merchantId: '' } |
STRIPE | API_KEY | STRIPE: { apiKey: '' } |
MERCADOPAGO | Does not require parameters at the merchant_id level | MERCADOPAGO: {} |
BAZ | orgId, merchantId | BAZ: { orgId: '', merchantId: '' } |
Cuando se usa el payment widget de DEUNA:
- Paso 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: {},
}
- Paso 2: 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.
- Paso 3: Verifica fuentes externas: Asegúrate de no estar cargando el código del proveedor de pagos o anti-fraude desde Google Tag Manager u otra fuente.
- Paso 4: Validación: Un paso antes de mostrar el modal de DEUNA, abre la consola de desarrollador de tu navegador y copia este código.
Esto debería mostrar el mismo script que configuraste anteriormente. Con esto ya sabes que se configuró correctamente.
window.DEUNA_CREDENTIALS
Estas medidas garantizarán que tu implementación con DEUNA y el proveedor sea exitosa y sin problemas.
Cuando se usa el conector de VTEX
https://docs.deuna.com/docs/vtex-como-configurar-device-fingerprint-widget-v2
Cuando el comercio está integrado a DEUNA vía Direct API
- Paso 1: Agrega el script: Este script incluye un SDK de DEUNA que es capaz de generar los fingerprints de cualquier proveedor bajo solo una integración. En este caso mostraremos como usarlo para generar el fingerprint del proveedor:
-
<script> var script = document.createElement("script"); script.id = "deuna-cdl"; script.src = "https://cdn.getduna.com/cdl/index.js"; var loadScript = function () { var cdl = DeunaCDL(); cdl .configure({ apiKey: "<your public api key>", env: "production", fraudConfig: { <provider name>: {}, }, }) .then(function () { // El output esperado es un string en base 64: // ejemplo: eyJjbGVhclNhbGUiOiJCeTRLdU14Y1hHcVpXbUllMFkwbnNCOWpQZG5wdkxQM0ZrampVUGkzIiwiY3liZXJTb3VyY2UiOiJCeTRLdU14Y1hHcVpXbUllMFkwbnNCOWpQZG5wdkxQM0ZrampVUGkzIiwibWVyY2Fkb1BhZ28iOiJhcm1vci45ZTljZGE0MGI2OTgxZGU5OTY5NjIwODE0MTlmZTRiMjgwOGQ4YjY3Njg3ZWFkMTk1NGZlYmI3NDI5NDJkMWJjNjRjZWJlMWZiYzFjZDM0NWVkMTg5Yjg0Y2Q3YmUwNTc5ZGY4YjQ5MWMwNmYzZGYxY2M4MjVmMzkyODcwYzVmMzhjYjc3YTdhZWI1NzA3OWZiNmQ0ZWJkYTU4ZDc5YWMwNjFjYjFjZTc3YzkzYWFmYmIyZmY0NWFlYzgxZDdhYjAuNTc5YmRlZGNmNWI0OWU0YWVkZjg2MmQ4NjFhZDI4YTkiLCJzaWZ0IjoiQnk0S3VNeGNYR3FaV21JZTBZMG5zQjlqUGRucHZMUDNGa2pqVVBpMyIsInNpZ25pZnlkIjoiQnk0S3VNeGNYR3FaV21JZTBZMG5zQjlqUGRucHZMUDNGa2pqVVBpMyIsInN0cmlwZSI6InJzZV8xT2ZVaUUyZVp2S1lsbzJDMlFWTkphVmEifQ window.DEUNA_FRAUD_ID = cdl.getFraudId(); // NO es necesario guardarlo en el widow es solo un ejemplo }); }; script.onload = loadScript; document.body.appendChild(script); </script>
-
- Paso 2: Obtener el valor del device fingerprint y enviarlo en el /purchase API
- Para el
/purchase V1
(Request):-
{ "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>", ... }
-
- Para el
/purchase V2
(Request):-
{ "payer_info": { "email": "john@doe.com", "card_holder_dni": "12345678" }, "payment_source": { "method_type": "debit_card", "card_info": { "card_id": "8ff8ebad-0af0-41ad-9398-19cec1cc1be5" } }, "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>" } } }
-
- Para el
Updated 1 day ago