Integration Types
Otras características
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
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™.
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:
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 cual desea redirigir al pagador, después de completar el proceso de autenticación 3DSorder.amount
: el monto total del pedidoorder.currency
: la moneda del pedidosourceOfFunds.provided.card.*
o session.id
o sourceOfFunds.token
: detalles de la tarjeta que se va a utilizar para el pago.
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 API v54 en adelante y tokens de VTS admitidos de API 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 su proveedor de servicios de pago le habilitó la tokenización de red, cualquier solicitud al motor de pagos para 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 financiación (FPAN) almacenado en el token de motor de pagos (tokens MDES compatibles de API v55 en adelante, y tokens VTS compatibles de API v56 en adelante).
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 que usted o su proveedor de servicios de pago configuraron.
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 su proveedor de servicios de pago 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.Antes de comprobar la inscripción en 3DS, puede enviar una solicitud de cotización de tasa para Conversión de divisa dinámica (DCC) para recuperar la moneda del pagador y la cantidad de 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 de Check 3DS Enrollment. 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 Check 3DS Enrollment incluirá la información necesaria para la opción seleccionada.
Para personalizar el formulario simple generado, configure 3DSecure.authenticationRedirect.pageGenerationMode = SIMPLE
en la solicitud 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
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 cuando el pagador se puede autenticar.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.
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 envió detalles 3DS en una transacción, busque el pedido o la transacción en el portal de Administración de negocios. Vea los detalles del pedido, luego seleccione el vínculo para ver los detalles de autenticación.
Si desea ver los detalles de una autenticación en la cual no procedió con el pago (por ejemplo, hubo un error en la autenticación), utilice la opción Búsqueda de autenticaciones en el portal de Administración de negocios.
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
).