- Pautas de integración
- Características soportadas (seguridad)
- Autenticación 3-D Secure
Autenticación 3-D Secure
La autenticación 3-Domain Secure™ (3-D Secure o 3DS) está diseñada para proteger las compras en línea contra el fraude de tarjetas de crédito, al permitirle autenticar al pagador antes de enviar una transacción Authorization o Pay. Lo que hace la autenticación 3DS es redirigir al pagador al emisor de su tarjeta, donde debe ingresar una contraseña previamente registrada.
El Mastercard Gateway admite la autenticación 3DS mediante Mastercard SecureCode™, Verified by Visa™, J/Secure™, American Express SafeKey™ y Diners Club ProtectBuy™.
Prerrequisitos
- Debe estar registrado con su adquirente para usar 3DS.
- Debe estar habilitado para un esquema de 3DS en su perfil del negocio con el Mastercard Gateway.
Experiencia del pagador de 3DS
En esta sección se describe un ejemplo de flujo de pago para el sitio de su tienda, en que el pagador se autentica con 3DS.
El flujo de pago para una autenticación correcta es el siguiente:
- Un pagador navega por el sitio de su tienda, selecciona uno o más productos, accede a la página de pago y selecciona pagar con una tarjeta compatible con 3DS.
- Verificar la inscripción 3DS: usted le pide a Mastercard Gateway que consulte con el esquema de tarjeta si la tarjeta está inscrita para 3DS.
- Autenticar al pagador: después de confirmar que la tarjeta está inscrita, usted redirige el explorador del pagador a la página de autenticación 3DS de su emisor. El pagador ingresa su contraseña 3DS y envía la información. El emisor le devuelve el resultado de la autenticación.
- Procesar resultado de ACS: usted le pide a Mastercard Gateway que procese el resultado de la autenticación. Mastercard Gateway le proporciona a usted los detalles de la respuesta de autenticación recibida del emisor.
- Usar el resultado 3DS en una operación de pago: usted envía el pago para procesamiento.
- La página de confirmación del pedido se le muestra al pagador.
Integración para usar la autenticación 3DS
En esta sección se describe cómo realizar una integración para que el Mastercard Gateway utilice 3DS.
Puede comprobar si una tarjeta está inscrita al proporcionar los campos siguientes en la solicitud Check 3DS Enrollment:
3DSecureId
: Su identificador único para esta autenticación. Debe incluir este mismo identificador en todas las operaciones posteriores.3DSecure.authenticationRedirect.responseUrl
: La URL a la que desea redirigir al pagador después de completar el proceso de autenticación 3DSorder.amount
: El importe total del pedidoorder.currency
: la moneda del pedidosourceOfFunds.provided.card.*
osession.id
osourceOfFunds.token
: detalles de la tarjeta que se va a utilizar para el pago.Tokens de red
El motor de pagos puede procesar tokens de red en la solicitud Check 3DS Enrollment. Actualmente se admiten los tokens de red obtenidos de los proveedores de servicios de tokenización Mastercard Digital Enablement Service (MDES) y Visa Token Service (VTS).
Si obtuvo un token de red mediante la integración directa en el servicio de tokenización de red, deberá proporcionar los detalles del token utilizando los siguientes campos (tokens de MDES admitidos de DirectAPI v54 en adelante y tokens de VTS admitidos de DirectAPI v55 en adelante):
sourceOfFunds.type=SCHEME_TOKEN
: permite al motor de pagos identificar la fuente de fondos proporcionada en la solicitud como token de red.sourceOfFunds.provided.card.number
: el token de red. Proporcione el valor para el "PAN de token" de MDES o el "Token" de VTS.sourceOfFunds.provided.card.expiry
: (opcional) el vencimiento del token de red.
Si your payment service provider lo ha habilitado para la tokenización de red, cualquier solicitud al motor de pagos por un token del motor de pagos también intentará generar un token de red correspondiente. El motor de pagos también intentará la tokenización de red para cualquier tarjeta aplicable que ya esté almacenada en el depósito de tokens del motor de pagos. La solicitud Check 3DS Enrollment utilizará el token de red si está disponible; de lo contrario, se usará el PAN de financiamiento (FPAN) almacenado en el token de motor de pagos (tokens MDES compatibles de DirectAPI v55 en adelante, y tokens VTS compatibles de DirectAPI v56 en adelante).
- (Opcional)
3DSecure.goodsDescription:
puede proporcionar una breve descripción de la mercancía que se va a comprar. Si el servidor de control de acceso (ACS) del emisor lo admite, esta descripción se mostrará en la página de autenticación que se presenta al pagador.
El motor de pagos devuelve los resultados de la comprobación de inscripción en la respuesta:
3DSecure.xid
: un identificador de transacción único generado por el Mastercard Gateway para la autenticación 3DS.3DSecure.veResEnrolled
: indica si la autenticación del pagador está disponible para el número de tarjeta.
El motor de pagos también devuelve response.gatewayRecommendation
, que puede usar para determinar el siguiente paso. Esta recomendación se basa en las reglas de filtrado de transacciones 3DS configuradas por usted o your payment service provider.
response.gatewayRecommendation |
Siguiente paso |
---|---|
PROCEED | Puede proceder a autenticar al pagador. |
DO_NOT_PROCEED | No proceda con la autenticación de 3DS para esta tarjeta. Puede ofrecer al pagador la opción de probar otro método de pago. |
Para una integración avanzada, puede determinar el siguiente paso utilizando el valor devuelto en el campo 3DSecure.veResEnrolled
. Esto se resume en la tabla a continuación. Consulte la documentación del esquema de tarjeta para interpretar el campo "inscrito" en el mensaje Verificar respuesta de inscripción (VERes).
3DSecure.veResEnrolled |
Siguiente paso |
---|---|
Tarjeta inscrita | La tarjeta está inscrita para 3DS. Proceda a autenticar al pagador. |
Tarjeta no inscrita | La tarjeta no está inscrita para 3DS. Proceda con la operación de pago al proporcionar el 3DSecureId sobre la solicitud. |
La tarjeta no admite 3DS | La tarjeta no admite 3DS y no se puede proceder con la autenticación de 3DS. |
Autenticación no disponible | Hubo un error. Proceda con la operación de pago al proporcionar el 3DSecureId sobre la solicitud. |
Si la tarjeta está inscrita, (por ejemplo) 3DSecure.veResEnrolled = Y)
, entonces debe redirigir el explorador del pagador al sitio web del emisor de la tarjeta para la autenticación. Simplemente devuelva el contenido proporcionado en el 3DSecure.authenticationRedirect.simple.htmlBodyContent
al explorador del pagador.
Cuando finalice el proceso de autenticación en el sitio web del emisor de la tarjeta, el servidor de control de acceso (ACS) del emisor le devuelve la respuesta de autenticación a usted en forma de un mensaje HTTP a la URL de respuesta (3DSecure.authenticationRedirect.responseUrl
) que especificó en la solicitud Check 3DS Enrollment.
El mensaje de respuesta de autenticación de pago (PARes) devuelto se proporciona como un valor codificado base64. Para decodificar este valor, transfiera la respuesta PARes al campo 3DSecure.paRes
en la operación Process ACS Result y envíe la operación. El motor de pagos proporciona los resultados de la autenticación en la respuesta:
3DSecure.veResEnrolled
: indica si la autenticación del pagador está disponible para el número de tarjeta.3DSecure.paResStatus
: indica el resultado de la autenticación del pagador con el emisor. Este campo no se devuelve si el PaRes no es válido. Consulte la documentación pertinente del esquema de tarjeta para determinar el siguiente paso.
El motor de pagos también devuelve response.gatewayRecommendation
, que puede usar para determinar el siguiente paso. Tenga en cuenta que esta recomendación se basa solamente en las reglas de filtrado de transacciones 3DS que usted o your payment service provider configuraron.
response.gatewayRecommendation |
Siguiente paso |
---|---|
PROCEED | Puede proceder con la operación de pago al proporcionar el 3DSecureId sobre la solicitud. |
DO_NOT_PROCEED | No proceda a enviar una operación de pago. Puede ofrecer al pagador la opción de probar otro método de pago. |
Para una integración avanzada, puede determinar el siguiente paso utilizando el valor devuelto en el campo 3DSecure.paResStatus
. Esto se resume en la tabla a continuación. Consulte la documentación del esquema de tarjeta para interpretar el campo "estado" en el mensaje de PARes.
3DSecure.paResStatus |
Siguiente paso |
---|---|
Autenticación exitosa | La autenticación del pagador se realizó correctamente. Proceda con la operación de pago al proporcionar el 3DSecureId sobre la solicitud. |
La autenticación no se realizó correctamente | Error en la autenticación del pagador. No debe proceder con la operación de pago. Esto va contra las reglas del esquema. |
Intento de autenticación | Se intentó la autenticación del pagador, pero no se pudo completar. Proceda con la operación de pago al proporcionar el 3DSecureId sobre la solicitud. |
Autenticación no disponible | Hubo un error. Proceda con la operación de pago al proporcionar el 3DSecureId sobre la solicitud. |
Cuando el resultado de la operación Check 3DS Enrollment o Process ACS indica que se puede proceder con el pago, puede iniciar una operación Authorize o Pay. Incluya el 3DSecureId
que proporcionó en la operación Check 3DS Enrollment en la solicitud. No es necesario incluir ninguno de los parámetros en el grupo de parámetros 3DSecure, dado que el motor de pagos utilizará el 3DSecureId
para buscar los resultados de autenticación que almacenó cuando se le pidió que procesara el resultado de la autenticación. El motor de pagos pasará la información requerida al adquirente.
result = ERROR
en la respuesta de la operación de pago. Puede ofrecer al pagador la opción de probar otro método de pago.Otras opciones
Antes de comprobar la inscripción en 3DS, puede enviar una solicitud de cotización de tasa para Conversión dinámica de moneda (DCC) para recuperar la moneda del pagador y el monto del pedido de la moneda. Si el pagador acepta la oferta de DCC, entonces debe incluir la información de DCC en la solicitud Check 3DS Enrollment.
Referencia de API de DCC en Check 3DS Enrollment [REST] [NVP]
El HTML requerido para que el formulario utilizado redirija al pagador para la autenticación puede generarse mediante dos métodos de generación de página:
Simple
: Mastercard Gateway genera el formulario HTML. El formulario completo se devuelve en la respuesta Verificar inscripción 3DS. Esta es la opción predeterminada.Customized
: usted va a generar su propio formulario HTML personalizado, utilizando los parámetros proporcionados en la respuesta de Check 3DS Enrollment.
La respuesta a la operación Verificar inscripción 3DS incluirá la información requerida para la opción seleccionada.
(Opcional) Personalizar el formulario simple
Para personalizar el formulario simple generado, configure 3DSecure.authenticationRedirect.pageGenerationMode = SIMPLE
en la solicitud de Check 3DS Enrollment y, a continuación, especifique los valores de uno o más parámetros:
3DSecure.authenticationRedirect.simple.expectedHtmlEncoding
3DSecure.authenticationRedirect.simple.redirectDisplayBackgroundColor
3DSecure.authenticationRedirect.simple.redirectDisplayContinueButtonText
3DSecure.authenticationRedirect.simple.redirectDisplayTitle
(Opcional) Generar su propio formulario personalizado
Para especificar que va a generar su propio formulario, configure 3DSecure.authenticationRedirect.pageGenerationMode = CUSTOMIZED
en la solicitud Check 3DS Enrollment. La respuesta va a incluir los siguientes parámetros:
3DSecure.authenticationRedirect.customized.acsUrl
: la URL del servidor de control de acceso (ACS) del emisor donde se puede autenticar al pagador.3DSecure.authenticationRedirect.customized.paReq
: el mensaje de Solicitud de autenticación de pagador (PAReq) para enviar al ACS para iniciar la autenticación del pagador.
Incluya estos valores en su formulario, junto con la URL para devolver al pagador una vez que la autenticación se complete.
A continuación se muestra un formulario personalizado.
<!-- Populate the form action attribute with the value returned in the 3DSecure.authenticationRedirect.customized.acsUrl response parameter -->
<form name="3dsRedirect" action="[3DSecure.authenticationRedirect.customized.acsUrl]" method="POST" accept-charset="UTF-8">
<!-- Populate the mandatory PaReq parameter with the value returned in the 3DSecure.authenticationRedirect.customized.paReq response parameter. -->
<input type="hidden" name="PaReq" value="[3DSecure.authenticationRedirect.customized.paReq]"/>
<!-- Populate the mandatory TermUrl value with the URL to which you want the payer returned when the authentication process has completed. This should be the same value as supplied in the 3DSecure.authenticationRedirect.responseUrl parameter to the CHECK_ENROLLMENT request. -->
<input type="hidden" name="TermUrl" value="https://merchant.com/3ds/return"/>
<!-- The ACS will echo the contents of the mandatory MD parameter when the payer is returned to the URL specified in the TermUrl parameter. You can use this parameter to establish a link between the ACS request and response. -->
<input type="hidden" name="MD" value="[mdvalue]"/>
<input type="submit" value="Click here to continue" class="button">
</form>
Referencia de API de Personalizar formulario sobre Check 3DS Enrollment [REST] [NVP]
Si ha usado un MPI 3DS externo para autenticar al pagador, entonces debe transmitir la información sobre la autenticación en el grupo de parámetros de autenticación de la operación Pay o Authorize.
Todos los campos son opcionales, si le fueron proporcionados o no por el MPI 3DS externo depende del estado de la autenticación de la transacción. Sin embargo, si tiene los datos, se recomienda que los proporcione.
authentication.3ds.acsEci
: el indicador de comercio electrónico que se le puede devolver en el mensaje de respuesta de autenticación.authentication.3ds.authenticationToken
: el valor codificado base64 generado por el emisor de la tarjeta que se le puede devolver en el mensaje de respuesta de autenticación.authentication.3ds.transactionId
: un identificador de transacción único generado por el motor de pagos para la autenticación 3DS. Este campo corresponde a XID, que es un identificador de transacción único generado por el motor de pagos en nombre del negocio. Un XID enviado en este campo debe estar en formato base64.authentication.3ds1.paResStatus:
indica el resultado de la autenticación del pagador con el emisor.authentication.3ds1.veResEnrolled:
indica si la autenticación del pagador está disponible o no para el número de tarjeta que facilitó.
authentication.3ds.authenticationToken
.Referencia de API de 3DS preautenticado en Authorize [REST] [NVP]
Si desea recuperar los resultados de autenticación en cualquier etapa, utilice la operación Retrieve 3DS Result.
Preguntas frecuentes
El motor de pagos el estado de autenticación en los campos 3DSecure.veResEnrolled
y 3DSecure.paResStatus
, respectivamente.
VERes es el mensaje que devuelve el esquema de la tarjeta al motor de pagos, en respuesta a una solicitud para comprobar la inscripción en 3DS. PARes es el mensaje de respuesta que se devuelve al motor de pagos, en respuesta a una solicitud de autenticación del pagador.
Consulte la documentación del esquema de tarjeta para interpretar los valores devueltos en los campos 3DSecure.veResEnrolled
y 3DSecure.paResStatus
.
Si proporcionó detalles de 3DS en una transacción, busque el pedido o la transacción en Merchant Administration. Vea los detalles del pedido, luego seleccione el vínculo para ver los detalles de autenticación.
Si desea ver los detalles de autenticación para una autenticación con la que no procedió al pago (por ejemplo, la autenticación falló), utilice la opción de búsqueda de Autenticaciones en Merchant Administration.
Sí, puede ignorar la autenticación 3DS para los pagadores en los que los pagos se consideran de bajo riesgo por parte del administrador de riesgos externo. Para obtener más información, consulte Dynamic 3DS.
Puede probar su integración para realizar la autenticación 3DS mediante el Mastercard Gateway, usando el Emulador ACS. Esto le permite seleccionar un resultado de Autenticación 3DS específico (devuelto en la respuesta de transacción en 3DSecure.paResStatus
).