NuDetect es un administrador de servicios de riesgo que permite realizar diversas evaluaciones de riesgos. Mastercard Gateway admite las siguientes evaluaciones de riesgos por medio de NuDetect:
La prueba de tarjeta, que también se conoce como "evaluación de ciclo de tarjeta" o "evaluación de ataque BIN", utiliza detalles de transacciones, incluidos detalles de tarjeta, dirección de facturación, dirección de envío, etc., para analizar el riesgo de la transacción.
El Pago confiable, que también se conoce como "evaluación de datos de comportamiento", "evaluación de huellas dactilares" o "evaluación de dispositivos", utiliza detalles de interacción del pagador (p. ej., pulsaciones de teclas, clics del mouse), detalles del dispositivo (p. ej., ID del dispositivo, dirección IP) o información de ubicación (p. ej., ubicación geográfica de un pagador) para analizar el riesgo de la transacción.
En función de la evaluación de riesgos, NuDetect proporciona una recomendación de aceptar o rechazar la transacción. Si se rechaza la recomendación, el motor de pagos bloquea la transacción. Los detalles de la evaluación de riesgos, incluida la calificación de riesgo, las reglas de riesgo aplicadas y su resultado, se devuelven en la respuesta a la transacción.
NuDetect es compatible desde DirectAPI v56 en adelante.
Agregar NuDetect a su integración
Los pasos de integración para agregar NuDetect dependen de su modelo de integración del motor de pagos.
Prerrequisitos
Para usar NuDetect a través del motor de pagos:
Your payment service provider debe tener habilitado el administrador de servicios de riesgo NuDetect en su perfil del negocio, y el perfil de riesgo NuDetect debe estar configurado en "Prueba de tarjeta", "Pago confiable" o "Prueba de tarjeta + Pago confiable".
Si desea realizar una evaluación de "Prueba de tarjeta", su perfil de riesgo de NuDetect en el motor de pagos debe estar configurado como "Prueba de tarjeta" o "Prueba de tarjeta + Pago confiable".
Si desea realizar una evaluación de "Pago confiable", su perfil de riesgo de NuDetect en el motor de pagos debe estar configurado como "Pago confiable" o "Prueba de tarjeta + Pago confiable". Si está utilizando su propia página de pago para recopilar los detalles del pagador y desea realizar la evaluación de "Pago confiable", debe integrarse en la API de Risk JS para permitir que su página de pago recopile datos de huellas digitales.
NuDetect por medio de Hosted Checkout
Si dispone de una integración de Hosted Checkout versión 56 o superior, las transacciones iniciadas por medio de Hosted Checkout se enviarán automáticamente a NuDetect para la calificación de riesgo. El tipo de evaluación dependerá de la configuración de su perfil de riesgo de NuDetect, ya sea "Prueba de tarjeta", "Pago confiable" o ambos.
Con "Pago confiable", si Hosted Checkout no recopila datos de huellas digitales, entonces la transacción no se enviará a NuDetect para la calificación de riesgo.
NuDetect por medio de Direct Payment
Si recopila los detalles de pago en su propia página de pago y los envía al motor de pagos mediante una transacción Verify, Authorize, Pay o Standalone Capture, la implementación es diferente para las evaluaciones de riesgo de "Prueba de tarjeta" y "Pago confiable".
Prueba de tarjeta
Si desea realizar una "Prueba de tarjeta" y está configurado para el perfil NuDetect de "Prueba de tarjeta" o "Prueba de tarjeta + Pago confiable", el motor de pagos se encarga automáticamente de la evaluación de riesgos por medio de NuDetect.
Las transacciones Verify, Authorize, Pay y Standalone Capture enviadas al motor de pagos se enviarán a NuDetect para la evaluación de riesgos de "Prueba de tarjeta".
Las transacciones se evaluarán previamente utilizando el filtrado de transacciones, si tiene configuradas reglas de filtrado de transacciones.
Pago confiable
Si desea realizar el "Pago confiable" y está configurado para el perfil de NuDetect "Pago confiable" o "Prueba de tarjeta + Pago confiable", debe integrarse en la API de Risk JS para permitir que su página de pago recopile datos de huellas digitales. Si la página de pago no puede recopilar datos de huellas digitales, la transacción no se enviará a NuDetect para la calificación de riesgo.
Para verificar si el "Pago confiable" está habilitado, envíe una solicitud Payment Options Inquiry al motor de pagos. Si el "Pago confiable" está habilitado con o sin "Prueba de tarjeta", la respuesta de Payment Options Inquiry devuelve risk.fingerprintprovider=NUDETECT
Integración de Risk JS
Esta sección describe cómo utilizar la API de Risk JS en su integración de NuDetect.
Paso 1: Crear una sesión
Realice una operación Create Session para obtener un ID de sesión. Cuando haya creado una sesión, puede actualizarla con los campos de solicitud y los valores que desee almacenar en la sesión.
En su página de pago, consulte la API de Risk JS (risk.js) en los servidores del motor de pagos. Esto colocará un objeto risk en la ventana/el espacio de nombres global.
Inserción del elemento de entrada oculto de formulario
Tenga en cuenta que al completar la configuración usando el método Risk.configure( ), el SDK de Risk JS crea el siguiente elemento de entrada oculto dentro del elemento de <form> en la página de pago, que generalmente es un contenedor para los detalles de la tarjeta. El SDK de Risk JS genera datos de huellas digitales dentro del elemento de entrada oculto cuando el pagador comienza a interactuar con la página de pago, por ejemplo, al pulsar teclas, mover el mouse o hacer clic con él, etc.
<input name="nds-pmd" type="hidden">
Si su página de pago no tiene un elemento de <formulario>, debe insertar manualmente el elemento de entrada oculto, por ejemplo, <input name="nds-pmd" type="hidden"> antes de ejecutar el método Risk.configure( ).
Solicitud de inicialización de Risk JS
Cuando haya creado una sesión, inicialice la API utilizando el método Risk.configure( ). Se debe llamar a este método durante la carga de la página o cuando DOM se encuentra en estado listo. Debe llamarse solo una vez para la carga de la página. Después de llamar a este método, Risk JS proporcionará valores de configuración como variables miembro.
Proporcione los siguientes campos obligatorios como argumentos para el objeto riskConfig:
merchantId: su identificador de negocio en el motor de pagos.
sessionId: el ID de sesión que creó utilizando la llamada Create Session.
apiVersion: (opcional) La versión de DirectAPI de la solicitud. Si no proporciona un valor, apiVersion adopta 56 como valor predeterminado.
riskProvider: (Opcional) El identificador del proveedor de servicios de riesgo en el motor de pagos. Actualmente, solo el administrador de servicios de riesgo NUDETECT es compatible por medio de la API de Risk JS. Si no proporciona un administrador de servicios de riesgo, la API de Risk JS realizará una solicitud Payment Options Inquiry para determinar el administrador de riesgos compatible.
Función de devolución de llamada
Puede proporcionar una función callback opcional en el método Risk.configure() que se invocará con el objeto response como argumento al completar el método. El objeto response contendrá las propiedades message y status para indicar si la configuración se llevó a cabo correctamente o si falló debido a un error.
Si la configuración se llevó a cabo correctamente:
{ status: "SUCCESS", message: "Risk SDK is configured successfully."}
Si la configuración falló:
{ status: "ERROR", message: "Error message"}
Ejemplo de configuración de la API de inicialización
Paso 3: Recopilar datos de huellas digitales en una sesión
Puede agregar o actualizar campos en la sesión que creó en el Paso 1 utilizando la llamada Update Session. Le permite agregar datos de pago y pagador en una sesión que posteriormente puede convertirse en la entrada para una operación Verify, Authorize o Pay para determinar el riesgo asociado con un pagador. Realice la operación Update Session cuando el pagador haga clic en el botón "Pagar ahora".
Campos obligatorios
device.fingerprint: proporcione el valor del elemento de entrada oculto tal como se describe en el paso 2. El elemento de entrada oculto contiene los datos de huellas digitales del pagador capturados por el SDK de Risk JS.
sourceOfFunds.provided.card.*: detalles de la tarjeta que se va a utilizar para el pago.
order.amount
order.currency: la moneda del pedido.
transaction.id: identificador único para esta autenticación de pago.
order.id: identificador único para este pedido.
Tenga en cuenta que no se pueden eliminar campos de una sesión, sino solamente sobrescribir valores de los campos existentes.
Si la operación Update Session se realizó correctamente, la sesión devuelta contendrá los detalles de pago del pagador de la interacción. Use la sesión devuelta para presentar una página de confirmación de pedido o enviar un pago al motor de pagos. Consulte Realizar una operación con la sesión.