3D Secure

¿Qué es 3D Secure?

3D Secure, o 3DS, es un protocolo de seguridad para pagos en línea diseñado para evitar el uso fraudulento de tarjetas de crédito en transacciones sin tarjeta presente (CNP). El protocolo, desarrollado en 1999, requiere pasos de verificación adicionales para que los clientes durante el proceso de compra se autentiquen y reduzcan el riesgo de fraude. El siguiente flujo presenta un proceso de pago utilizando 3DS:

Dónde:

  • Merchant Plugin Interface (MPI) inicia el proceso de verificación facilitando el intercambio seguro de información entre el comerciante, scheme Directory Server y el banco emisor del titular de la tarjeta.
  • Scheme Directory Server (DS) actúa como base de datos centralizada y facilita la identificación del banco emisor del titular de la tarjeta y el método de autenticación correspondiente que debe utilizarse.
  • El servidor de control de acceso del emisor (ACS ) se encarga de verificar y validar la identidad del titular de la tarjeta durante una transacción 3DS. El ACS emisor recibe solicitudes de autenticación y realiza evaluaciones de riesgo y comprobaciones de autenticación basadas en las normas y políticas predefinidas del banco.

3D Secure 2, o 3DS2, publicado en 2016, es una versión actualizada del protocolo 3DS original y utiliza métodos de autenticación dinámicos como la biometría y la autenticación token, mientras que el protocolo 3DS original se basa en contraseñas estáticas. 3DS2 pretende ofrecer una mejor experiencia de usuario con un flujo más fluido para los usuarios finales durante la autenticación. EMVCo, una organización propiedad de las principales marcas de tarjetas, desarrolló y gestionó ambos protocolos. Las principales marcas de tarjetas dejaron de dar soporte a la primera versión de 3DS en octubre de 2022. Por lo tanto, integrar el paso de verificación 3DS2 es esencial para garantizar la experiencia y la seguridad de sus clientes. Yuno ya proporciona una fácil integración 3DS2 para tu negocio.

Logotipo de Visa
Visa
Logotipo de Mastercard
Tarjeta MasterCard
Logotipo de American Express
American Express
Logotipo de JCB
JCB
Logotipo de Diners Club
club de comensales
Logotipo de UnionPay
UnionPay
Logotipo de Cartes Bancaires
Tarjetas bancarias

Beneficios de 3D Secure 2

Como se mencionó, 3DS2 se desarrolló para mejorar la experiencia del usuario y adaptar el protocolo 3DS al panorama de pago moderno.

Preparado para las nuevas tecnologías

3DS2 se diseñó teniendo en cuenta el auge de los teléfonos inteligentes y permitió a los bancos ofrecer experiencias de autenticación innovadoras a través de sus aplicaciones de banca móvil, como la autenticación biométrica mediante huellas dactilares o el reconocimiento facial. Por lo tanto, los comerciantes pueden ofrecer varios métodos de autenticación que se alinean con las preferencias del consumidor y los avances tecnológicos, lo que resulta en un proceso de autenticación más conveniente y seguro.

Capacidades de integración

En cuanto a la integración, 3DS2 incluye un componente SDK que permite la integración nativa en aplicaciones móviles. Como resultado, los comerciantes pueden autenticar transacciones dentro de sus propias aplicaciones. Ahora, el challenge flow ocurre directamente dentro de los flujos de pago móvil, eliminando la necesidad de redireccionamientos de página completa y brindando una experiencia de usuario más fluida.

Cantidad de datos disponibles para la autenticación

3DS2 permite a las empresas intercambiar diez veces más datos sobre cada transacción con el banco del titular de la tarjeta. Esto incluye datos pago, como la dirección de envío, y datos contextuales, como el ID del dispositivo del cliente o el historial de transacciones anteriores. Esto permite al banco evaluar el nivel de riesgo de la transacción y autenticar potencialmente el pago sin necesidad de que el titular de la tarjeta aporte datos adicionales. Por lo tanto, un pago que utilice protocolos 3DS2 puede enfrentarse a un flujo sin fricciones o a un flujo con retos para completar el pago.

Frictionless flow

En un flujo sin fricciones, los datos del cliente se confirman sin necesidad de introducirlos manualmente. Esto ocurre cuando el sistema reconoce y verifica el dispositivo del cliente, y los datos se intercambian en segundo plano. Como el cliente se identifica y valida con esta información, no son necesarias solicitudes adicionales de los sistemas de pago.

Challenge flow

El challenge flow ocurre cuando la información almacenada no es suficiente para validar al cliente. Como la identidad del cliente no está confirmada, el sistema requiere un paso adicional para validar al cliente, utilizando una contraseña de un solo uso o verificación biométrica. Dependiendo del sistema de validación, el cliente puede ser redirigido a la página del emisor de la tarjeta para ingresar la información necesaria.

El uso de 3DS2 da como resultado una experiencia de usuario más fluida y sin fricciones. Los flujos de datos mejorados y las capacidades de toma de decisiones habilitadas por 3DS2 reducen la tasa de abandono del carrito y mejoran las tasas de conversión.

Pago 3D Secure 2

Agregar el paso de verificación 3DS2 al proceso de pago cambia el flujo de trabajo normal. A continuación, se incluye un diagrama de flujo del proceso de pago completo y una descripción de cada paso para ayudarlo a comprender mejor el proceso.

  1. El cliente proporciona los datos de su tarjeta para iniciar el proceso de pago del comerciante.
  2. El sistema del comerciante comprueba si es compatible con 3DS2.
  3. Si el comerciante no es compatible con 3DS2, el proceso de pago continúa con el flujo de trabajo de pago regular sin utilizar la verificación 3DS2.
  4. Si el comerciante admite 3DS2, Yuno envía la información de la transacción al proveedor de servicios 3DS del emisor para evaluar el riesgo de la transacción. Estos datos incluyen información del dispositivo y del titular de la tarjeta según las restricciones regionales o de la ley del mercado, como la identificación del dispositivo, la dirección MAC, la ubicación geográfica, las transacciones anteriores y más.
  5. El proveedor de servicios 3DS del emisor determina si la transacción es de alto riesgo y si es necesaria una impugnación para una verificación adicional.
  6. El pago procede al paso de autorización si no es necesario un desafío (flujo sin fricción).
  7. Si se requiere un desafío (challenge flow), se presenta al titular de la tarjeta para verificar su identidad. Esta verificación puede usar biometría y/o autenticación de dos factores, como una contraseña de un solo uso o una huella digital.
  8. El sistema verifica si el titular de la tarjeta completó con éxito el desafío.
  9. El pago procede al paso de autorización si el titular de la tarjeta verifica con éxito su identidad.
  10. Si el titular de la tarjeta no verifica su identidad, se anula el pago.
  11. El comerciante verifica con el emisor de la tarjeta si la transacción está autorizada.
  12. Si la transacción está autorizada, el pago se procesa con éxito.
  13. Si la transacción no está autorizada, el pago se cancela o se rechaza.

Configurar 3D Secure para sus pagos

📘

Mejora del SDK v1.1

Con SDK v1.1, la lógica 3DS se maneja automáticamente mediante el método continuePayment() : no se requiere configuración de 3DS por separado. Para más información, consulte Documentación de Yuno Web SDK.

Usted decide si su sistema implementará la 3DS2 o no. El paso de verificación 3DS2 se añade al definir el enrutamiento dinámico de sus tarjetas. Al iniciar las rutas de su tarjeta, puede añadir el paso 3DS2 antes de definir el proveedor de pago. Al añadir el paso de verificación 3DS2, cuando un pago usando una tarjeta es inicializado, el sistema Yuno analizará si la tarjeta necesita un reto extra. Si es necesario un reto extra, el usuario será redirigido al entorno del banco para completar la autorización. Por otro lado, el proceso de pago continuará normalmente.

Para crear pagos con el flujo de trabajo de 3DS DIRECT, debes cumplir algunos requisitos.

Requisitos

Antes de usar 3DS DIRECT, necesitas habilitar 3DS en tu Yuno Dashboard y especificar los escenarios en los que quieres que tus clientes puedan usarlo. Esto puede ser configurado en Yuno Dashboard bajo: Enrutamiento > Rutas de Tarjetas > Paso 3DS. Estos escenarios deben ser indicados en su ruta CARD. Adicionalmente, necesitarás los siguientes datos de configuración de 3DS en la conexión del proveedor de pago:

  • BIN de la entidad adquirente: es el número de identificación bancaria (BIN) utilizado para compensar y liquidar la transacción, junto con el país en el que está autorizado su uso.
  • ID de comerciante: Es el número de afiliación proporcionado por la entidad adquirente.
  • Código de categoría comercial (MCC): La entidad adquirente le proporcionará un código específico que representa su categoría de comerciante.
  • Nombre del comerciante: Se refiere al nombre oficial o razón social de la empresa o entidad que realiza la transacción comercial.
  • URL del comerciante: El sitio web o la plataforma en línea del comerciante.
  • Código de país: El país en el que debe procesarse el pago, siguiendo los códigos de país estándar ISO 3166-1.
📘

Uso de un MPI externo para la autenticación

Si está utilizando un MPI externo para realizar la autenticación, los siguientes parámetros son necesarios para una conexión exitosa con el proveedor:

  • BIN del adquirente
  • Código del país adquirente
  • ID de comerciante
  • MCC

Integración de Yuno 3D Secure 2

Hay diferentes formas de integrar 3DS en Yuno, dependiendo de tus necesidades.

En términos generales, una integración 3DS requiere un setup_id/device_fingerprint para la sesión de pago como primer paso para el análisis de seguridad, y ese identificador sólo puede obtenerse ejecutando un SDK/JS impulsado por un proveedor autorizado de 3DS. Al utilizar nuestros SDKs nos encargamos de toda la lógica por ustedpara que no tenga que preocuparse por las necesidades de los distintos proveedores.

Por lo tanto, dependiendo de tu integración con Yuno, tienes tres opciones diferentes:

  1. Integración de Checkout: El flujo de trabajo de Checkout es parte de la solución de Checkout proporcionada por Yuno. Utilice nuestros SDKs para que podamos manejar toda la lógica relativa a los requisitos de proveedores externos y ejecuciones para 3DS. Si quieres definir casos específicos para el análisis 3DS, puedes definirlo en la ruta CARD de tu panel de control Yuno.
  2. Integración externa: Utilice su propio 3DS y luego envíe los campos de autorización correspondientes en la creaciónpago (card_data - eci, criptograma, etc). Solo disponible para comerciantes que cumplan la normativa PCI.
  3. Integración directa: El flujo de trabajo Directo sólo está disponible para los comerciantes que cumplen la normativa PCI. Proporciona una forma sencilla de crear un pago y validar la información del usuario, requiriendo que el comerciante realice sólo un pedido para crear el pago. Para implantar correctamente la integración directa, siga los pasos descritos en la sección directriz de integración y facilite la información requerida según las instrucciones. Para cada pago tendrás una:
    1. PENDING/WAITING_ADDITIONAL_STEP estado/subestado.
    2. sdk_action_required establecida como true.
    3. redirect_url definido en payment.payment_method.payment_method_detail.card.

Tu eres responsable de redirigir a tus clientes a la URL proporcionada por el redirect_url para que podamos recopilar información sobre el dispositivo y presentar el desafío al cliente si es necesario. Una vez que el cliente haya completado con éxito el desafío 3DS, será redirigido automáticamente a la sección callback_urlque proporcionó al crear el pago con el endpoint Create Payment .

Para cada escenario, los webhooks de Yuno le notificarán puntualmente el resultado de la impugnación 3DS y el estado final del pago. Esto garantiza que reciba actualizaciones en tiempo real sobre el progreso y la finalización de la transacción de pago. Además, siempre puedes obtener la información de pago utilizando nuestro servicio de toma de pago.

Después de ejecutar el 3DS para cada escenario, recibirá toda la información necesaria en la respuesta del pago dentro del archivo payment_method.detail.card.card_data.three_d_secure objeto:

CampoDescripciónEjemplo
versiónHace referencia a la versión de protocolo de la especificación EMV 3-D Secure utilizada. 1.0, 2.0, 2.1.0, 2.2.0, 2.2.1.2.2.1
indicador_comercio_electrónicoEste campo debe completarse con el resultado del campo ECI proporcionado por el servicio 3d Secure. El Indicador de Comercio Electrónico (ECI) informa al emisor de la tarjeta si la transacción estaba protegida por un protocolo de seguridad como VbV o MCSC. Visa y MasterCard exigen que todas las transacciones 3-D Secure tengan este valor rellenado en el pedido autorización (MAX: 2, MIN: 0).04
criptogramaEste campo debe completarse con el resultado del campo de criptograma proporcionado por el servicio 3DSecure. En las transacciones con Visa, representa el Valor de verificación de autenticación del titular de la tarjeta (CAVV), un valor criptográfico generado por el emisor como evidencia de la autenticación del pago durante la compra en línea para calificar para la protección contra devoluciones de cargos. Las transacciones con MasterCard tienen un valor similar llamado Valor de autenticación del titular de la cuenta (AAV) o Campo de autenticación universal del titular de la tarjeta (UCAF). Al enviar una transacción para su autorización, el comerciante debe incluir el CAVV o AAV/UCAF para demostrar que el titular de la tarjeta ha sido autenticado. Normalmente está codificado en base64 (MÁXIMO: 40, MÍNIMO: 0).BA0BB1Z3N5Q4kjkBU3c3ELGUsJY =
transaction_idPara 3DS v1: este es el identificador único de transacción. Lo genera automáticamente el MPI. Normalmente tiene una longitud de 28 bytes y está codificado en base64. Se lo conoce comúnmente como XID (MÁXIMO: 40, MÍNIMO: 0). Para 3DS v2: identificador único de transacción universal asignado por el DS para identificar una sola transacción. (MÁXIMO: 36, MÍNIMO: 36).Ex para V1: "TjY0MjAxRjA4MD4987DUzMzYyNjU=" Ex para V2: “c4e59ceb-a382-4d6a-bc87-385d591fa09d”
directory_server_transaction_idID de transacción generado por el servidor de directorio de Mastercard durante la autenticación (MAX 255; MIN 3).f38e6948-5388-41a6-bca4-b49723c19437
estado_paresIndica el resultado de la autenticación del titular de la tarjeta durante el proceso 3-D Secure. Le informa si la autenticación fue exitosa (Y), falló (N), no pudo completarse (U) o solo se intentó (A).Y
acs_idIdentificador único proporcionado por el Servidor de Control de Acceso (ACS) durante el proceso de autenticación 3-D Secure.ACS-1234567890
[...]
     "payment_method": {
        "vaulted_token": "",
        "type": "CARD",
        "vault_on_success": false,
        "token": "",
        "detail": {
            "card": {
                "verify": false,
                "capture": false,
                "installments": 1,
                "installments_plan_id": null,
                "first_installment_deferral": 0,
                "installments_type": "",
                "installment_amount": null,
                "soft_descriptor": "",
                "authorization_code": "",
                "retrieval_reference_number": "",
                "voucher": null,
                "card_data": {
                    "holder_name": "John Doe",
                    "iin": "40000000",
                    "lfd": "1026",
                    "number_length": 16,
                    "security_code_length": 3,
                    "brand": "VISA",
                    "issuer_name": "",
                    "issuer_code": null,
                    "category": "STANDARD",
                    "type": "CREDIT",
                    "three_d_secure": {
                        "version": "2.1.0",
                        "electronic_commerce_indicator": null,
                        "cryptogram": null,
                        "transaction_id": null,
                        "directory_server_transaction_id": null,
                        "pares_status": null,
                        "acs_id": "z1A6ZTh7NopIhdb2R420"
                    }
                }
[...]

Estado de las transacciones

Una transacción 3DS funciona de manera similar a una transacción de compra normal. Pasa por diferentes estados que representan el proceso de autorización. Una vez que la transacción 3DS se marca como FINALIZADA, Yuno procede al procesador y genera una transacción de COMPRA para cobrar al cliente. La siguiente tabla describe todos los estados posibles y sus descripciones.

StatusDescripción
CREATEDEl pago se crea y espera la identificación de la sesión SDK de Yuno.
PENDINGEl desafío es necesario, y el redirect_url es devuelto por Yuno.
EN_PROCESOEl usuario está completando el desafío.
SUCCEEDEDEl desafío se completó correctamente.
DECLINEDEl desafío se completó pero el banco lo rechazó.
ERROROcurrió un error al redirigir al desafío del usuario.

Como se mencionó anteriormente, si el pago está PENDIENTE/ESPERANDO UN PASO ADICIONAL, la transacción de 3DS estará PENDIENTE cuando se requiera un desafío. Una vez que se complete el desafío, ya sea con éxito o no, el pago y la transacción se actualizarán a los estados correspondientes (EXITOSO o RECHAZADO).

Uso de 3DS para escenarios específicos

Al configurar la ruta CARD en el panel de control de Yuno, puede especificar para qué situaciones debe ejecutarse 3DS utilizando las condiciones disponibles. Como se mencionó anteriormente, algunos pasos preliminares serán necesarios para ejecutar 3DS dependiendo del método de integración utilizado.