Peticiones para realizar una transacción con autenticación 3DSecure 1.0

 

Iniciar Petición

 

Esta petición permite obtener el tipo de autenticación 3D Secure que se puede realizar, además de la URL del 3DSMethod en caso de que exista.

El inicia petición se hace a través de una petición Webservice SOAP al TPV Virtual. En dicha petición deberá incluir los siguientes parámetros:

  • <DS_SIGNATUREVERSION>: Constante que indica la versión de firma que se está
  • <DATOSENTRADA>: Datos de la petición de pago (Consultar Parámetros de entrada y salida).
  • <DS_SIGNATURE>: Firma de los datos

Dichos parámetros deben enviarse a los siguientes URL dependiendo de si se quiere realizar una petición en el entorno de prueba u operaciones reales, llamando al método “iniciaPeticion”:

  • Pruebas: https://sis-t.redsys.es:25443/sis/services/SerClsWSEntradaV2
  • Real: https://sis.redsys.es/sis/services/SerClsWSEntradaV2

 

Una vez gestionada la petición, el TPV Virtual informará al servidor del comercio el resultado de la misma con la información del resultado incluida en un fichero XML (RETORNOXML). En él se incluirán los siguientes campos:

  • CODIGO: Código de respuesta o error SIS
  • OPERACION: Datos de respuesta de la operación. En este campo se incluirá el parámetro de salida Ds_Signature con la firma de la petición de

A continuación, se describen los datos de debe incluir el DATOSENTRADA para enviar un inicia petición:

<DATOSENTRADA>
<DS_MERCHANT_AMOUNT>1000</DS_MERCHANT_AMOUNT>
<DS_MERCHANT_ORDER>1552571678</DS_MERCHANT_ORDER>
<DS_MERCHANT_MERCHANTCODE>999008881</DS_MERCHANT_MERCHANTCODE>
<DS_MERCHANT_TERMINAL>2</DS_MERCHANT_TERMINAL>
<DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY>
<DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE>
<DS_MERCHANT_PAN> XXXXXXXXXXXXXXXXXX </DS_MERCHANT_PAN>
<DS_MERCHANT_EMV3DS>{'threeDSInfo':'CardData'}</DS_MERCHANT_EMV3DS>
</DATOSENTRADA>

 

Como respuesta se obtendrá lo siguiente:

<RETORNOXML>
<CODIGO>0</CODIGO>
<INFOTARJETA>
<Ds_Order>1553155286</Ds_Order>
<Ds_MerchantCode>999008881</Ds_MerchantCode>
<Ds_Terminal>2</Ds_Terminal>
<Ds_TransactionType>0</Ds_TransactionType>
<Ds_EMV3DS>{"protocolVersion":"NO_3DS_V2"}</Ds_EMV3DS>
<Ds_Card_PSD2>Y</Ds_Card_PSD2>
<Ds_Signature>7155jJYTzqeO/FoKjIQwUrjRJU7CxiOLHlC00d5c/RU=</Ds_Signature>
</INFOTARJETA>

 

El parámetro Ds_EMV3DS estará compuesto únicamente por el siguiente campo:

  • protocolVersion: siempre indicará el número de versión mayor permitido en la operación. En el caso de que la versión exija realizar autenticación con 3DSecure 1.0 se indicará el valor “NO_3DS_V2”.

 

El parámetro Ds_Card_PSD2 informará al comercio si la tarjeta informada en la petición está afectada o no por PSD2. Los valores posibles serán “Y” para indicar que la tarjeta está afectada por PSD2, o “N” para indicar lo contrario.

 

 

Solicitar autorización

 

Esta petición permite indicar al comercio que quiere solicitar una transacción realizando la autenticación 3DSecure 1.0 si procede.

La petición de autorización se hace a través de una petición al TPV Virtual En dicha petición deberá incluir los siguientes parámetros:

  • <DS_SIGNATUREVERSION>: Constante que indica la versión de firma que se está
  • <DATOSENTRADA>: Datos de la petición de pago (Consultar Parámetros de entrada y salida).
  • <DS_SIGNATURE>: Firma de los datos

 

Dichos parámetros deben enviarse a los siguientes URL dependiendo de si se quiere realizar una petición en el entorno de prueba u operaciones reales, llamando al método “trataPeticion”:

  • Pruebas: https://sis-t.redsys.es:25443/sis/services/SerClsWSEntradaV2
  • Real: https://sis.redsys.es/sis/services/SerClsWSEntradaV2

 

Una vez gestionada la petición, el TPV Virtual informará al servidor del comercio el resultado de la misma con la información del resultado incluida en un fichero XML (RETORNOXML). En él se incluirán los siguientes campos:

  • CODIGO: Código de respuesta o error SIS
  • OPERACION: Datos de respuesta de la operación. En este campo se incluirá el parámetro de salida Ds_Signature con la firma de la petición de

A continuación, se describen los datos que debe incluir el DATOSENTRADA para enviar un inicia petición:

<DATOSENTRADA>
<DS_MERCHANT_AMOUNT>1000</DS_MERCHANT_AMOUNT>
<DS_MERCHANT_ORDER>1552572812</DS_MERCHANT_ORDER>
<DS_MERCHANT_MERCHANTCODE>999008881</DS_MERCHANT_MERCHANTCODE>
<DS_MERCHANT_TERMINAL>2</DS_MERCHANT_TERMINAL>
<DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY>
<DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE>
<DS_MERCHANT_PAN> XXXXXXXXXXXXXXXXXX </DS_MERCHANT_PAN>
<DS_MERCHANT_EXPIRYDATE >XXXX</ DS_MERCHANT_EXPIRYDATE>
<DS_MERCHANT_CVV2>XXX</ DS_MERCHANT_CVV2>
<DS_MERCHANT_EMV3DS>{
"threeDSInfo":"AuthenticationData", "protocolVersion":"1.0.2",
"browserAcceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,ap plication/json",
"browserUserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}</DS_MERCHANT_EMV3DS>
</DATOSENTRADA>

 

Como respuesta se obtendrá lo siguiente:

<RETORNOXML>
<CODIGO>0</CODIGO>
<OPERACION>
<Ds_Amount>1000</Ds_Amount>
<Ds_Currency>978</Ds_Currency>
<Ds_Order>1552572812</Ds_Order>
<Ds_Signature>B4Ok6jJAEOWFE6XT1nvLvUMM1kwt9CAkkLJkCHFBrso=</Ds_Signature>
<Ds_MerchantCode>999008881</Ds_MerchantCode>
<Ds_Terminal>2</Ds_Terminal>
<Ds_TransactionType>0</Ds_TransactionType>
<Ds_EMV3DS>{"threeDSInfo":"ChallengeRequest", "protocolVersion":"1.0.2",
"acsURL": "https://sis.redsys.es/sis-simulador-web/authenticationRequest.jsp", "PAReq":"eJxVUttygjAQ/RWG95KEooKzpkPVjj7QOpZ+QBp2KlYuDVDx77tRqS0zmdmzJ+zlnMBDXxycbzRNX
pUzV3jcdbDUVZaXHzP3LX26C90HCenOIC5eUXcGJSTYNOoDnTybuU1Rq7zPsFGlFmIU+mOfi4j7vrAfn3DOw9HYlbCJt/gl 4dpKUifPBzZAqmn0TpWtBKW/HtfPMhgFYSiAXSEUaNYL+brcJstNnCy381X8nAK7pKFUBcp5RUjnlZOhU5sO35XzZFSXIb AzD7rqytac5MQPgA0AOnOQu7atp4wdj0fPYNacGk9XBTBLAbvNtuls1FCpPs9kso/7lzQ+Jftln6R09p88WcRHOjNg9gZkqk U5KOIIPhVi6kfAznlQhZ1BintPcNr0gqC2TeKBsszfDJAHhiw6yWgS0hYDAuzrqkS6QbL+xkDOaEY73Cafr6zGuiXZ/lololEYW LnPjK2WkzhBJC7lLABm/2VXJ9n1GVD073n8AOa7wW0=",
"MD":"cd164a6d0b77c96f7ef476121acfa987a0edf602"}</Ds_EMV3DS>
</OPERACION>
</RETORNOXML>

 

 

Ejecución de la autenticación

 

El comercio deberá montar un formulario que envíe un POST a la URL del parámetro acsURL obtenido en la respuesta de la petición de autorización anterior. Dicho formulario envía 3 parámetros necesarios para la autenticación:

  • PaReq, cuyo valor se obtiene del parámetro PAReq obtenido en la respuesta de la petición de autorización
  • MD, cuyo valor se obtiene del parámetro MD obtenido en la respuesta de la petición de autorización
  • TermUrl, que identifica la URL a la que entidad Emisora hará un POST con el resultado de autenticación. Dicho formulario enviará un único parámetro PARes, que contiene el resultado de la autenticación y que deberá ser recogido por el comercio para su posterior envío en la petición de confirmación de autorización.

 

 

Confirmación de autorización 3DSecure 1.0 posterior al Challenge

 

A continuación, se describen los datos que debe incluir el DATOSENTRADA para enviar una petición de confirmación de autorización 3DSecure 1.0 al Servicio SOAP:

<DATOSENTRADA>
<DS_MERCHANT_AMOUNT>1000</DS_MERCHANT_AMOUNT>
<DS_MERCHANT_ORDER>1552572812</DS_MERCHANT_ORDER>
<DS_MERCHANT_MERCHANTCODE>999008881</DS_MERCHANT_MERCHANTCODE>
<DS_MERCHANT_TERMINAL>2</DS_MERCHANT_TERMINAL>
<DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY>
<DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE>
<DS_MERCHANT_PAN> XXXXXXXXXXXXXXXXXX </DS_MERCHANT_PAN>
<DS_MERCHANT_EXPIRYDATE >XXXX</ DS_MERCHANT_EXPIRYDATE>
<DS_MERCHANT_CVV2>XXX</ DS_MERCHANT_CVV2>
<DS_MERCHANT_EMV3DS>{"threeDSInfo":"ChallengeResponse", "protocolVersion":"1.0.2",
"PARes":"eJzFWNmSo0iyfecrymoeNVVsWqBNmWPBKlaJVcAbmwBJLALE9vWDlJVZWT3VNn3vw70yyRR4u Dvu ESeOu8X2X0N+/dLFdZOVxctX9Dvy9UtchGWUFcnLV8vkvhFf//W6NdM6jhkjDu91/LpV4qbxk/hL …..",
"MD":"035535127d549298f11d7d2fc1b0d4e9300f93f1"}
</DS_MERCHANT_EMV3DS>
</DATOSENTRADA>

 

Como respuesta se obtendrá el resultado final de la operación:

<RETORNOXML>
<CODIGO>0</CODIGO>
<OPERACION>
<Ds_Amount>1000</Ds_Amount>
<Ds_Currency>978</Ds_Currency>
<Ds_Order>1552572812</Ds_Order>
<Ds_Signature>B4Ok6jJAEOWFE6XT1nvLvUMM1kwt9CAkkLJkCHFBrso=</Ds_Signature>
<Ds_MerchantCode>999008881</Ds_MerchantCode>
<Ds_Terminal>2</Ds_Terminal>
<Ds_TransactionType>0</Ds_TransactionType>
<Ds_Response>0000</Ds_Response>
<Ds_AuthorisationCode >694432</Ds_AuthorisationCode>
<Ds_SecurePayment>1</Ds_SecurePayment>
<Ds_Language >1</Ds_Language>
<Ds_CardNumber>454881******0004</Ds_CardNumber>
<Ds_Card_Type>C</Ds_Card_Type>
<Ds_MerchantData ></Ds_MerchantData>
<Ds_Card_Country>724</Ds_Card_Country>
<Ds_Card_Brand>1</Ds_Card_Brand>
</OPERACION>
</RETORNOXML>