- Pautas de integración
- Cumplimiento y exenciones de PSD2 SCA
- Integración de API de autenticación para PSD2 SCA
Integración de API de autenticación para PSD2 SCA
En esta página se describe el esfuerzo de integración para respaldar el cumplimiento de PSD2 SCA y las exenciones para una integración de la API de autenticación. Antes de continuar con la creación de su integración, se recomienda que se familiarice con Cumplimiento y exenciones de PSD2 SCA.
Exenciones admitidas
El motor de pagos admite actualmente las siguientes exenciones:
- Bajo riesgo
- Bajo valor
- Lista blanca
- Pagos recurrentes
- Pagos corporativos seguros
Prerrequisitos
Para cumplir con los requisitos de PSD2 SCA, debe realizar la integración con el motor de pagos para la Autenticación 3-D Secure.
Para utilizar la funcionalidad de exenciones PSD2 SCA a través del motor de pagos:
- your payment service provider debe habilitar su perfil del negocio en el motor de pagos y debe configurarlo para las exenciones de PSD2 que desee usar.
- No debe configurar ninguna regla de 3-D Secure de filtrado de transacciones.
- Debe tener una integración a la API de autenticación del motor de pagos.
Debe enviar tanta información del pagador y de la transacción como sea posible al iniciar la autenticación. Esto aumentará las probabilidades de que el emisor otorgue o aplique una exención. - Debe integrarse con API versión 57 o superior.
Solicitar autenticación del pagador
Puede enviar la solicitud de autenticación sin reclamar una exención. En este caso, no necesita realizar ningún cambio en su integración con la API de autenticación del motor de pagos.
Si PSD2 SCA se aplica a la transacción, el emisor presentará al pagador el desafío de 3DS o aplicará una exención del emisor donde el pagador experimentará un flujo de pago fluido. En ambos casos, los datos de autenticación requeridos están contenidos en la respuesta y podrá proceder al pago de la forma estándar.
Reclamar una exención al solicitar la autenticación del pagador
Si la respuesta de Initiate Authentication indica que 3DS está disponible para la tarjeta, es decir, authentication.version
con valor 3DS2 o 3DS1, puede reclamar una exención cuando envíe la solicitud Authenticate Payer mediante la inclusión del campo authentication.psd2.exemption
con uno de los siguientes valores:
- LOW_RISK
- LOW_VALUE_PAYMENT
- SECURE_CORPORATE_PAYMENT
authentication.challengePreference
=NO_CHALLENGE
Puede reclamar una exención para todos los casos que se indican a continuación:
- 3DS2 o 3DS1 están disponibles para la tarjeta, es decir, la respuesta de Initiate Authentication devolvió
authentication.version
con el valor 3DS2 o 3DS1.- Si 3DS2 está disponible, el motor de pagos solicitará la exención durante la autenticación.
- Si 3DS1 está disponible, el motor de pagos ignorará la autenticación y le recomendará que proceda al pago. El motor de pagos solicitará automáticamente la exención cuando envíe el pago para su procesamiento al adquirente.
- Su adquirente admite exenciones PSD2. Si el adquirente no admite exenciones, el motor de pagos solicitará automáticamente la autenticación sin pedir una exención.
- El emisor admite exenciones PSD2 para las autenticaciones. Si el emisor no admite las exenciones de PSD2, el motor de pagos ignorará la autenticación y le recomendará que proceda al pago. El motor de pagos solicitará automáticamente la exención cuando envíe el pago para su procesamiento al adquirente.
Ejemplo de solicitud Authenticate Payer
Una solicitud Authenticate Payer de ejemplo en REST muestra cómo solicitar una exención del adquirente de bajo riesgo.
URL | https://network.gateway.mastercard.com/api/rest/version/72/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Método HTTP | PUT |
{ "apiOperation":"AUTHENTICATE_PAYER", "authentication":{ "challengePreference":"NO_CHALLENGE", "redirectResponseUrl":"<your_host_name_and_path>", "psd2":{ "exemption":"LOW_RISK" } }, "correlationId":"123456789012345678", "device":{ "browser":"MOZILLA", "browserDetails":{ "3DSecureChallengeWindowSize":"FULL_SCREEN", "acceptHeaders":"application/json", "colorDepth":24, "javaEnabled":true, "language":"en-US", "screenHeight":640, "screenWidth":480, "timeZone":273 }, "ipAddress":"123.4.5.6" }, "order":{ "amount":"100", "currency":"EUR" }, "sourceOfFunds":{ "provided":{ "card":{ "number":"5506900140100107", "expiry":{ "month":"1", "year":"39" } } } } }
Ejemplo de respuesta de Authenticate Payer
Una respuesta de Authenticate Payer de ejemplo en REST muestra la exención del adquirente de bajo riesgo otorgada por el emisor.
{ "authentication":{ "3ds":{ "acsEci":"06", "authenticationToken":"kNyn+7YFi1EUAREAAAAvNUe6Hv8=", "transactionId":"088d2f19-ecef-47c6-ae27-6db0a1e09278" }, "3ds2":{ "acsTransactionId":"10c1b4e3-fadc-472b-88a3-73df73722f1e", "directoryServerId":"A999999999", "dsTransactionId":"088d2f19-ecef-47c6-ae27-6db0a1e09278", "methodSupported":"NOT_SUPPORTED", "protocolVersion":"2.1.0", "requestorId":"<your_requestor_ID>", "requestorName":"<your_requestor_name>", "statusReasonCode":"81", "transactionStatus":"N" }, "payerInteraction":"NOT_REQUIRED", "psd2":{ "exemption":"LOW_RISK" }, "redirect":{ "customized":{ "3DS":{ "acsUrl":"<ACS_host_and path>", "cReq":"e30=" } } }, "redirectHtml":"<div id=\"threedsFrictionLessRedirect\" xmlns=\"http://www.w3.org/1999/html\"> <iframe id=\"challengeFrame\" name=\"challengeFrame\"> </iframe> <form id=\"threedsFrictionLessRedirectForm\" method=\"POST\" action=\"<your host and path>\" target=\"challengeFrame\"> <input type=\"hidden\" name=\"order.id\" value=\"27bc3847-3a16-4ad7-8566-6b1be559b337\" /> <input type=\"hidden\" name=\"transaction.id\" value=\"1\" /> <input type=\"hidden\" name=\"response.gatewayRecommendation\" value=\"PROCEED\" /> <input type=\"hidden\" name=\"result\" value=\"SUCCESS\" /> </form> <script id=\"authenticate-payer-script\"> var e=document.getElementById(\"threedsFrictionLessRedirectForm\"); if (e) { e.submit(); if (e.parentNode !== null) { e.parentNode.removeChild(e); } } </script> </div>", "version":"3DS2" }, "correlationId":"123456789012345678", "device":{ "browser":"MOZILLA", "ipAddress":"123.4.5.6" }, "lineOfBusiness":"Online", "merchant":"<your_merchant_ID>", "order":{ "amount":100, "authenticationStatus":"AUTHENTICATION_EXEMPT", "creationTime":"2020-06-01T05:32:49.982Z", "currency":"EUR", "id":"27bc3847-3a16-4ad7-8566-6b1be559b337", "lastUpdatedTime":"2020-07-22T08:44:28.148Z", "merchantCategoryCode":"1234", "status":"AUTHENTICATION_NOT_NEEDED", "totalAuthorizedAmount":0, "totalCapturedAmount":0, "totalRefundedAmount":0, "valueTransfer":{ "accountType":"NOT_A_TRANSFER" } }, "response":{ "gatewayCode":"APPROVED", "gatewayRecommendation":"PROCEED" }, "result":"SUCCESS", "sourceOfFunds":{ "provided":{ "card":{ "expiry":{ "month":"1", "year":"39" }, "number":"5506900140100107", "scheme":"MASTERCARD" } }, "type":"CARD" }, "timeOfLastUpdate":"2020-07-22T08:44:28.148Z", "timeOfRecord":"2020-06-01T05:32:49.982Z", "transaction":{ "acquirer":{ "merchantId":"9808" }, "amount":100, "authenticationStatus":"AUTHENTICATION_EXEMPT", "currency":"EUR", "id":"1", "type":"AUTHENTICATION" }, "version":"57" }
Si no está habilitado para la exención solicitada, la solicitud se procesa como si no hubiera solicitado una exención. El emisor puede:
- otorgar la exención que solicitó;
- aplicar una exención del emisor; o bien
- rechazar la exención que solicitó y no aplicar una exención del emisor.
Se aplica un tratamiento especial si su adquirente o el esquema no admiten exenciones.
Escenario | Descripción |
---|---|
El emisor otorga la exención del adquirente | Si el emisor concede la exención que usted ha solicitado:
|
El emisor aplica la exención del emisor | Si el emisor aplica una exención del emisor:
|
El emisor no otorga ni aplica una exención | Si el emisor no otorgó la exención que usted solicitó y no aplicó una exención de emisor:
|
El adquirente no admite las exenciones de PSD2 | Si el adquirente (que posteriormente se utilizará para procesar el pago) no tiene soporte para las exenciones de PSD2, el motor de pagos procesará la autenticación como si no se hubiera solicitado una exención,
|
Las exenciones de PSD2 no se admiten para este esquema | Actualmente, la solicitud de exenciones cuando se realiza la autenticación solo es compatible con Mastercard y Visa. Si el motor de pagos no tiene soporte para solicitar exenciones de PSD2 para un esquema, el motor de pagos continuará sin ejecutar 3DS.
|
Continuación con un pago
Si la respuesta no contiene response.gatewayRecommendation=PROCEED
, no le recomendamos que proceda con el pago. Solicite al pagador otro conjunto de detalles de pago.
Si la respuesta de Authenticate Payer indica que puede proceder con el pago (response.gatewayRecommendation=PROCEED
), proceda con el pago enviando una solicitud Authorize o Pay. Para obtener más detalles, consulte Implementación de una integración de 3DS utilizando la API de autenticación (Paso 3).
Alternativa a 3DS1
Si la tarjeta no admite 3DS2, el motor de pagos puede tomar como alternativa 3DS1. En este caso, en el que solicitó una exención, el comportamiento del motor de pagos depende del soporte del adquirente para la exención de PSD2. Vea la siguiente tabla para conocer más detalles.
Escenario | Descripción |
---|---|
El adquirente tiene soporte para las exenciones de PSD2 | El motor de pagos procederá sin ejecutar 3DS.
La respuesta no contendrá ningún detalle de 3DS (lo que indica que no se ejecutó 3DS). Cuando proceda con el pago, el motor de pagos solicitará automáticamente la exención cuando envíe el pago para su procesamiento con el adquirente. |
El adquirente no admite las exenciones de PSD2 | Si el adquirente (que posteriormente se utilizará para procesar el pago) no tiene soporte para las exenciones de PSD2, el motor de pagos procesará la autenticación como si no se hubiera solicitado una exención,
|
Continuación con un pago después de una autenticación con éxito
Si ejecutó una autenticación con éxito, o sea, la respuesta de Authenticate Payer contiene response.gatewayRecommendation=PROCEED
, proceda con el pago enviando una solicitud Authorize o Pay.
Para obtener más detalles, consulte Implementación de una integración de 3DS utilizando la API de autenticación (Paso 3). El motor de pagos agregará automáticamente los detalles de la autenticación 3DS a la solicitud de transacción enviada al emisor.
Reclamar una exención al realizar un pago
Si no ejecutó una autenticación, puede reclamar una exención en la solicitud Authorize o Pay. Agregue el campo authentication.psd2.exemption
a la solicitud con uno de los siguientes valores:
- LOW_RISK
- LOW_VALUE_PAYMENT
- SECURE_CORPORATE_PAYMENT
Solicitud Pay de ejemplo
Una solicitud Pay de ejemplo en REST muestra cómo solicitar una exención del adquirente de bajo riesgo.
URL | https://network.gateway.mastercard.com/api/rest/version/72/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID> |
Método HTTP | PUT |
{ "apiOperation":"PAY", "authentication":{ "psd2":{ "exemption":"LOW_RISK" } }, "order":{ "amount":"100", "reference":"<your_order_ID>", "currency": "EUR", "merchantCategoryCode": "1234" }, "sourceOfFunds":{ "provided":{ "card":{ "number":"5506900140100107", "expiry":{ "month":"1", "year":"39" } } }, "type":"CARD" }, "transaction":{ "source":"INTERNET" } }
Respuesta de ejemplo de Pay
Una respuesta de ejemplo de Pay donde el emisor no otorgó ni aplicó una exención y rechazó la solicitud (porque se requiere la SCA).
{ "authentication":{ "psd2":{ "exemption":"LOW_RISK" } }, "authorizationResponse":{ "commercialCard":"888", "commercialCardIndicator":"3", "financialNetworkCode":"777", "posData":"1025104006600", "posEntryMode":"812", "processingCode":"003000", "responseCode":"65", "stan":"101123", "transactionIdentifier":"123456789" }, "currencyConversion":{ "uptake":"NOT_REQUIRED" }, "gatewayEntryPoint":"WEB_SERVICES_API", "merchant":"<your_order_ID>", "order":{ "amount":100.00, "authenticationStatus":"AUTHENTICATION_REQUIRED", "certainty":"FINAL", "chargeback":{ "amount":0, "currency":"EUR" }, "creationTime":"2020-07-24T06:49:21.703Z", "currency":"EUR", "id":"<your_order_ID>", "lastUpdatedTime":"2020-07-24T06:49:22.019Z", "merchantAmount":100.00, "merchantCategoryCode":"1234", "merchantCurrency":"EUR", "reference":"f1dc3211-ea25-46af-b72d-93828f0c6964", "status":"FAILED", "totalAuthorizedAmount":0.00, "totalCapturedAmount":0.00, "totalRefundedAmount":0.00 }, "response":{ "acquirerCode":"65", "acquirerMessage":"SCA required under PSD2", "gatewayCode":"DECLINED", "gatewayRecommendation":"ATTEMPT_WITH_AUTHENTICATION" }, "result":"FAILURE", "sourceOfFunds":{ "provided":{ "card":{ "brand":"MASTERCARD", "expiry":{ "month":"1", "year":"39" }, "fundingMethod":"CREDIT", "issuer":"INTERNATIONAL CARD SERVICES BV", "number":"510029xxxxxx2909", "scheme":"MASTERCARD", "storedOnFile":"NOT_STORED" } }, "type":"CARD" }, "timeOfLastUpdate":"2020-07-24T06:49:22.019Z", "timeOfRecord":"2020-07-24T06:49:21.813Z", "transaction":{ "acquirer":{ "batch":20200724, "date":"0724", "id":"SYSTEST_ACQ_S2I", "merchantId":"9808", "transactionId":"123456789" }, "amount":100.00, "authenticationStatus":"AUTHENTICATION_REQUIRED", "currency":"EUR", "id":"<your_transaction_ID>", "receipt":"020606101123", "source":"INTERNET", "stan":"101123", "terminal":"0002", "type":"PAY" }, "version":"57" }
Si no está habilitado para la exención solicitada, el motor de pagos rechazará la solicitud. Póngase en contacto con your payment service provider para asegurarse de que lo hayan habilitado para utilizar la función de exenciones de PSD2 SCA en todos sus vínculos de negocio-adquirente.
El emisor puede:
- otorgar la exención que solicitó;
- aplicar una exención del emisor; o bien
- rechazar la exención que solicitó y no aplicar una exención del emisor.
Se aplica un tratamiento especial si su adquirente o el esquema no admiten exenciones.
Escenario | Descripción |
---|---|
El emisor otorga la exención del adquirente | Si el emisor concede la exención que usted ha solicitado, el pago está exento del mandato PSD2 SCA y se realizará sin ningún detalle de autenticación. Si la transacción es exitosa, la respuesta contendrá:
|
El emisor aplica la exención del emisor | Si el emisor aplica una exención del emisor, el pago está exento del mandato de PSD2 SCA y procederá sin ningún detalle de autenticación. Si la transacción es exitosa, la respuesta contendrá:
|
El emisor no otorga ni aplica una exención | Si el emisor no concede la exención que usted ha solicitado y no aplica una exención de emisor, el emisor rechazará la transacción. El código de respuesta devuelto por el emisor indicará que la transacción fue rechazada, porque se requiere la SCA bajo el mandato de PSD2. La respuesta Authorize o Pay contendrá:
|
El adquirente no admite las exenciones de PSD2 | Si su adquirente no admite exenciones PSD2, el motor de pagos procesará el pago como si no se hubiera solicitado ninguna exención. |
Las exenciones de PSD2 no se admiten para este esquema | Actualmente, el soporte para exenciones solo es compatible con Mastercard y Visa. Si el motor de pagos no tiene soporte para solicitar exenciones de PSD2 para un esquema, el motor de pagos procesará el pago como si no se hubiera solicitado una exención. |
Presentar un pago sin reclamar una exención
Si no ejecutó una autenticación, puede enviar una solicitud Authorize o Pay sin reclamar una exención. El emisor puede aplicar una exención del emisor o rechazar el pago porque no cumple con el mandato de PSD2 SCA.
Escenario | Descripción |
---|---|
El emisor aplica la exención del emisor | Si el emisor aplica una exención del emisor, el pago está exento del mandato de PSD2 SCA y procederá sin ningún detalle de autenticación. Si la transacción es exitosa, la respuesta contendrá:
|
El emisor no otorga ni aplica una exención | Si usted no solicitó una exención del adquirente y el emisor no aplica una exención del emisor, el emisor rechazará la transacción. El código de respuesta devuelto por el emisor indicará que la transacción fue rechazada, porque se requiere la SCA bajo el mandato de PSD2. La respuesta Authorize o Pay contendrá:
Puede procesar el pago ejecutando la autenticación del pagador y volviendo a enviar la solicitud de pago con los detalles de autenticación. Para hacer cumplir la autenticación del pagador, envíe una solicitud Authenticate Payer con el campo authentication.challengePreference=CHALLENGE_MANDATED .
|
Exención de lista blanca
Puede pedirle al emisor que le ofrezca al pagador que lo agregue a su lista blanca (para la tarjeta), agregando authentication.challengePreference=REQUEST_WHITELISTING
a la solicitud Authenticate Payer.
authentication.challengePreference=REQUEST_WHITELISTING
también contiene el campo authentication.psd2.exemption
, el motor de pagos ignora el campo authentication.psd2.exemption
. Puede solicitar esto:
- cuando envía un pago (la solicitud Initiate Authentication contiene
authentication.purpose=PAYMENT_TRANSACTION
) o - cuando agrega o actualiza los detalles de la tarjeta del pagador (la solicitud Initiate Authentication contiene
authentication.purpose=ADD_CARD
oMAINTAIN_CARD
).
Cuando el pagador haya aceptado agregarlo a su lista blanca, la respuesta de Authenticate Payer contiene authentication.psd2.whitelistStatus=WHITELISTED
. De lo contrario, o en los casos en que el emisor no admita la inclusión en listas blancas, la respuesta de Authenticate Payer contiene authentication.psd2.whitelistStatus=NOT_WHITELISTED
.
Deberá realizar un seguimiento del hecho de que el pagador lo ha incluido en la lista blanca para que pueda solicitar la exención de lista blanca en cualquier pago posterior para este pagador.
Solicite la aplicación de la exención de lista blanca agregando authentication.psd2.exemption=WHITELISTED_MERCHANT
a la solicitud.
El emisor validará que el pagador lo haya incluido en la lista blanca y:
- otorgará la exención (flujo fluido para el pagador) y devolverá los detalles de autenticación para una autenticación con éxito, o
- no otorgará la exención y presentará al pagador el flujo de desafío.
Si el pagador lo ha incluido en la lista blanca y usted procede al pago sin autenticar al pagador, el emisor puede otorgar la exención o rechazar la solicitud de transacción. Para continuar con el pago, debe realizar la autenticación del pagador y volver a enviar la solicitud de pago.
Exención de pagos recurrentes
Si tiene un acuerdo con el pagador para pagos recurrentes, es decir, una suscripción con un monto fijo:
- Debe ejecutar la SCA cuando envíe el primer pago de la serie iniciado por el titular de la tarjeta.
- Debe identificar correctamente el primer pago de la serie iniciado por el titular de la tarjeta, consulte transacciones iniciadas por el titular de la tarjeta.
- Debe identificar correctamente todos los pagos posteriores de la serie iniciados por el negocio como un pago iniciado por el negocio, consulte transacciones iniciadas por negocios.
- Debe reclamar una exención de pago recurrente para todos los pagos posteriores de la serie iniciados por el negocio.
- Debe enviar otro pago iniciado por el titular de la tarjeta y ejecutar la SCA para este pago si el monto o los detalles de la tarjeta para el acuerdo cambian.
Pago iniciado por el titular de la tarjeta
Para el primer pago de la serie o cuando el monto o los detalles de la tarjeta hayan cambiado, autentique al pagador y envíe un pago iniciado por el titular de la tarjeta.
Envíe una solicitud Initiate Authentication con authentication.purpose=PAYMENT_TRANSACTION
.
Envíe una solicitud de Authenticate Payer con:
authentication.challengePreference=CHALLENGE_MANDATED
order.amount
se establece en el monto fijo por pago en la serie de pagos recurrentesagreement.id
agreement.type=RECURRING
agreement.expiryDate
(opcional)agreement.recurring.daysBetweenPayments
(opcional)
Si la autenticación fue exitosa, envíe una solicitud de Authorize o Pay en el mismo pedido con:
authentication.transactionId
haciendo referencia a la transacción de autenticación o enviando los detalles de la autenticación 3DS en el grupo de parámetros deauthentication
order.amount
coincidente con el monto autenticadoagreement.id
coincidente con el ID del acuerdo en la transacción de autenticaciónsourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
transaction.source
se establece en un valor distinto deMERCHANT
Pago iniciado por el negocio
Para todos los pagos posteriores de la serie iniciados por el negocio, no es necesario que autentique al pagador. Debe identificar correctamente el pago como un pago iniciado por el negocio. Consulte transacciones iniciadas por negocios para conocer los detalles.
Envíe una solicitud Authorize o Pay con:
authentication.psd2.exemption=RECURRING_PAYMENT
order.amount
coincidente con monto del pedido para la transacción de autenticaciónagreement.id
coincidente con el ID del acuerdo en la transacción de autenticacióntransaction.source=MERCHANT
sourceOfFunds.provided.card.storedOnFile=STORED
Exención de pagos iniciados por negocios
Si tiene un acuerdo con el pagador para los pagos iniciados por el negocio, por ejemplo, pagos recurrentes, a plazos o no programados (excepto los pagos recurrentes con un monto fijo, consulte la sección Exenciones de pagos recurrentes mediante la API de Autenticación):
- Debe ejecutar la SCA cuando envíe el primer pago de la serie iniciado por el titular de la tarjeta.
- Debe identificar correctamente todos los pagos posteriores de la serie iniciados por el negocio como un pago iniciado por el negocio, consulte transacciones iniciadas por negocios.
- Debe reclamar una exención de pago iniciado por el negocio para todos los pagos posteriores de la serie iniciados por el negocio.
- Debe enviar otro pago iniciado por el titular de la tarjeta y ejecutar la SCA para este pago, si los detalles de la tarjeta para el acuerdo cambian.
Pago iniciado por el titular de la tarjeta
Para el primer pago de la serie o cuando los datos de la tarjeta hayan cambiado, autentique al pagador y envíe un pago iniciado por el titular de la tarjeta.
Envíe una solicitud Initiate Authentication con authentication.purpose=PAYMENT_TRANSACTION
.
Envíe una solicitud de Authenticate Payer con:
authentication.challengePreference=CHALLENGE_MANDATED
agreement.id
Si la autenticación fue exitosa, envíe una solicitud de Authorize o Pay en el mismo pedido con:
authentication.transactionId
haciendo referencia a la transacción de autenticación o enviando los detalles de la autenticación 3DS en el grupo de parámetros deauthentication
agreement.id
coincidente con el ID del acuerdo en la transacción de autenticaciónagreement.type
agreement.expiryDate
(opcional, solo aplicable para pagos recurrentes)agreement.recurring.daysBetweenPayments
(opcional, solo aplicable para pagos recurrentes). Establecer en "1" para acuerdos de intervalo de tiempo variable.sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
transaction.source
se establece en un valor distinto deMERCHANT
Pago iniciado por el negocio
Para todos los pagos posteriores de la serie iniciados por el negocio, no es necesario que autentique al pagador. Debe identificar correctamente el pago como un pago iniciado por el negocio. Consulte transacciones iniciadas por negocios para conocer los detalles.
Envíe una solicitud Authorize o Pay con:
authentication.psd2.exemption=MERCHANT_INITIATED_PAYMENT
agreement.id
coincidente con el ID del acuerdo en la transacción de autenticacióntransaction.source=MERCHANT
sourceOfFunds.provided.card.storedOnFile=STORED
Usar el motor de pagos solo para autenticación
Si la respuesta no contiene response.gatewayRecommendation=PROCEED
, no le recomendamos que proceda con el pago. Solicite al pagador otro conjunto de detalles de pago.
Si la respuesta de Authenticate Payer indica que puede proceder con el pago (response.gatewayRecommendation=PROCEED
), envíe una solicitud de pago con los detalles proporcionados en la respuesta de Authentication Payer. Según los detalles de la respuesta de autenticación, es posible que deba proporcionar los siguientes detalles en la solicitud de pago.
Escenario | Descripción |
---|---|
El emisor otorga la exención del adquirente | Si el emisor concede la exención que usted ha solicitado, la respuesta contiene transaction.authenticationStatus=AUTHENTICATION_EXEMPT . En este caso, no solicite una exención en la solicitud de pago. Envíe el token de autenticación sin alterar en la solicitud de pago, como se indica en el campo authentication.3ds.authenticationToken . La respuesta contiene los siguientes campos y la versión de protocolo devuelta para la tarjeta es la versión 2.1.0:Versión de protocolo 2.1.0
Para las tarjetas Mastercard, la combinación de:
Para las tarjetas Visa, la confirmación de una exención presenta un típico flujo de autenticación fluido.
Para la autenticación del pagador usando la versión de protocolo 2.2.0 para tarjetas Mastercard, la combinación de:
para tarjetas Visa, la combinación de:
Cuando no se ejecuta ningún pago en el momento en que se autentica al pagador, los negocios solo pueden realizar una verificación. Sin embargo, Mastercard ha informado que no devolverá un token de autenticación (criptograma) en la respuesta a las solicitudes EMV 3DS marcadas como autenticaciones que no sean de pago ("ADD_CARD" o "MAINTAIN_CARD"). Para la autenticación que no sea de pago usando la versión de protocolo 2.2.0 para tarjetas Mastercard, la combinación de:
|
El emisor aplica la exención del emisor | Si el emisor aplicó una exención del emisor, la respuesta contiene transaction.authenticationStatus=AUTHENTICATION_SUCCESSFUL . En este caso, no solicite una exención en la solicitud de pago. Envíe el token de autenticación sin alterar en la solicitud de pago, como se indica en el campo authentication.3ds.authenticationToken. La solicitud también puede contener los siguientes campos:
|
El emisor no otorga ni aplica una exención | Si el emisor no aplicó una exención y la autenticación 3DS fue exitosa, la respuesta contiene transaction.authenticationStatus=AUTHENTICATION_SUCCESSFUL . En este caso, no solicite una exención en la solicitud de pago. Envíe el token de autenticación sin alterar en la solicitud de pago, como se indica en el campo authentication.3ds.authenticationToken . La solicitud también puede contener los siguientes campos:
|
El adquirente no admite las exenciones de PSD2 | Si su adquirente no admite exenciones PSD2, el motor de pagos procesará la autenticación como si no se hubiera solicitado ninguna exención. Tenga en cuenta que esto requiere que your payment service provider configure su perfil de negocio de la manera correspondiente. Si la autenticación 3DS fue exitosa, la respuesta contiene transaction.authenticationStatus=AUTHENTICATION_SUCCESSFUL . En este caso, no solicite una exención en la solicitud de pago. Envíe el token de autenticación sin alterar en la solicitud de pago, como se indica en el campo authentication.3ds.authenticationToken. La solicitud también puede contener los siguientes campos:
|
Las exenciones de PSD2 no se admiten para este esquema | Actualmente, la solicitud de exenciones cuando se realiza la autenticación solo es compatible con Mastercard y Visa. Si el motor de pagos no tiene soporte para solicitar exenciones de PSD2 para un esquema, el motor de pagos continuará sin ejecutar 3DS. La respuesta no contendrá ningún detalle de 3DS (lo que indica que no se ejecutó 3DS). En este caso, envíe su solicitud de pago incluida la exención. |
Autenticación del pagador realizada fuera del motor de pagos
Si ejecutó la autenticación del pagador 3DS2 fuera del motor de pagos y recibió detalles de autenticación que indican que el emisor ha concedido una exención, simplemente proporcione los detalles de autenticación cuando envíe la solicitud Authorize o Pay, que incluye:
- el token de autenticación sin alterar en el campo
authentication.3ds.authenticationToken
- el ECI proporcionado por el ACS en el campo
authentication.3ds.acsEci
- el valor devuelto en el campo de estado de la transacción desde el servidor de control de acceso (ACS) del emisor, en el campo
authentication.3ds2.transactionStatus
- el código que indica el motivo del estado de la transacción devuelto en el campo
authentication.3ds2.statusReasonCode
- el valor sin alterar para el identificador único para la transacción de autenticación 3DS2, según lo asignado por el servidor de directorio en el campo
authentication.3ds.transactionId
Prueba de su integración
Puede probar su integración utilizando su perfil de pruebas del negocio (su ID de negocio con el prefijo "TEST"). Esta sección ofrece detalles sobre los números de las tarjetas de prueba que se pueden utilizar para activar una respuesta específica.
Autenticación del pagador
Para activar una respuesta Authenticate Payer indicando que el emisor otorgó una exención que usted solicitó, realice lo siguiente:
- Envíe una solicitud de Authentication Payer con:
authentication.psd2.exemption
establecido en uno de los siguientes valores:
LOW_RISK
LOW_VALUE_PAYMENT
SECURE_CORPORATE_PAYMENT
sourceOfFunds.provided.card.number
=5506900140100107 (Mastercard), 4532249999999388 (Visa)
- Esto tendrá como resultado una respuesta Authenticate Payer con:
authentication.psd2.exemption
establecido en el valor proporcionado en la solicitud, es decir, uno de los siguientes:
LOW_RISK
LOW_VALUE_PAYMENT
SECURE_CORPORATE_PAYMENT
transaction.authenticationStatus=AUTHENTICATION_EXEMPT
response.gatewayRecommendation=PROCEED
response.gatewayCode=APPROVED
order.status=AUTHENTICATION_NOT_NEEDED
authentication.3ds2.transactionStatus=N
(Mastercard) oN
(Visa)authentication.3ds2.statusReasonCode=81
(solo Mastercard)authentication.3ds2.statusReasonCode=89
(Solo Visa)authentication.3ds.acsEci=06
(Mastercard) o07
(Visa)authentication.3ds.authenticationToken
- Proceda con el pago enviando una solicitud Authorize o Pay en este pedido.
Transacción de pago
Para activar una respuesta Authorize o Pay indicando que el pago fue rechazado por el emisor porque se requiere SCA, realice lo siguiente:
- Envíe una solicitud Authorize o Pay con
:sourceOfFunds.provided.card.number
=5506900140100503 (Mastercard), 4532249999994628 (Visa)
- Esto tendrá como resultado una respuesta Authorize o Pay con:
authentication.psd2.exemption
establecido en el valor proporcionado en la solicitud, es decir, uno de los siguientes:
LOW_RISK
LOW_VALUE_PAYMENT
SECURE_CORPORATE_PAYMENT
result=FAILURE
response.gatewayRecommendation=ATTEMPT_WITH_AUTHENTICATION
response.gatewayCode=DECLINED
order.authenticationStatus=AUTHENTICATION_REQUIRED
Preguntas frecuentes
Tengo acuerdos de pago vigentes para pagos recurrentes u otros pagos iniciados por negocios. ¿Tengo que volver a ejecutar la autenticación del pagador para todos mis acuerdos?
No es necesario volver a autenticar al pagador para dicho acuerdo. Los esquemas tienen reglas para el período de transición.
¿Cómo procedo si estoy usando una sesión y la sesión contiene una exención, pero el emisor rechazó el pago porque no cumple con PSD2 SCA?
El motor de pagos ignorará la exención contenida en la sesión cuando el pedido tenga un pago que haya sido rechazado por el emisor porque no cumple con PSD2 SCA. Por lo tanto, no es necesario que elimine la exención de la sesión antes de realizar la autenticación 3DS para el pedido y volver a enviar el pago.
¿Cómo puedo buscar y ver los datos de la exención de PSD2 para pedidos y transacciones en Merchant Administration?
Al buscar un pedido o una transacción en Merchant Administration por medio de la Búsqueda de pedidos y transacciones, puede utilizar el término de búsqueda:
- "Estado de autenticación del pagador":"Autenticación exitosa" para encontrar todos los pedidos autenticados correctamente
- "Estado de autenticación del pagador":"Exento de autenticación" para encontrar todos los pedidos en los que se solicitó o aplicó una exención.
El estado de autenticación del pedido se muestra en la página Detalles del pedido y la transacción en Merchant Administration en el campo "Estado de autenticación del pagador" en la sección "Detalles de autenticación del pagador. El campo tendrá el valor "Exento de autenticación" si se ha solicitado o aplicado una exención al pedido.
El estado de autenticación de la transacción se muestra en la página Detalles de pedido y transacción en Merchant Administration en la sección "Transacciones". Seleccione "Ver" para la transacción que desea ver. El campo "Autenticación del pagador - Estado de autenticación" tendrá el valor "Exento de autenticación", si se ha solicitado o aplicado una exención a la transacción.