Transacciones con DCC

 

Pasos para realizar una transacción con DCC

 

A continuación, se detallarán todas aquellas características adicionales de la operativa DCC en los comercios que utilicen la interfaz REST. El comercio tiene que estar configurado para realizar este tipo de operativa.

Los pagos con DCC en la conexión Rest sigue los siguientes pasos:

·         Paso 1: Iniciar petición

El comercio deberá hacer una consulta al TPV Virtual para saber si la tarjeta ofrece DCC y la información de DCC asociada a la transacción que se ha indicado.

·         Paso 2: Solicitud de autorización

El comercio enviará la solicitud de autorización de la operación incluyendo la información de DCC obtenida en el paso anterior.

NOTA: El tiempo máximo desde el inicio de la petición y la solicitud de autorización es de 1 hora. Pasado este tiempo la petición se da como perdida y se deberá volver a realizar el flujo desde el principio.

 

 

Pasos para realizar una transacción con DCC

 

Iniciar Petición

 

Esta petición permite obtener los datos de DCC para la petición solicitada.

El inicio de petición se hace a través de una petición REST 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á
  • Ds_MerchantParameters: Cadena en formato JSON con todos los parámetros de la petición codificada en Base 64 y sin retornos de carro (Consultar Parámetros de entrada y salida).
  • Ds_Signature: Firma de los datos Es el resultado del HMAC SHA256 de la cadena JSON codificada en Base 64 enviada en el parámetro anterior

Dichos parámetros deben enviarse a los siguientes endpoints dependiendo de si se quiere realizar una petición en el entorno de prueba u operaciones reales:

  • Pruebas: https://sis-t.redsys.es:25443/sis/rest/iniciaPeticionREST
  • Real: https://sis.redsys.es/sis/rest/iniciaPeticionREST

 

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

  • Ds_SignatureVersion: Constante que indica la versión de firma que se está
  • Ds_MerchantParameters: Cadena en formato JSON con todos los parámetros de la respuesta codificada en Base 64 y sin retornos de
  • Ds_Signature: Firma de los datos Resultado del HMAC SHA256 de la cadena JSON codificada en Base 64 enviada en el parámetro anterior. El comercio es responsable de validar el HMAC enviado por el TPV Virtual para asegurarse de la validez de la respuesta. Esta validación es necesaria para garantizar que los datos no han sido manipulados y que el origen es realmente el TPV Virtual.

 

A continuación, se describen los datos de debe incluir el Ds_MerchantParameters para enviar una petición de inicia peticion al Servicio REST:

{
"DS_MERCHANT_ORDER":1552580496, "DS_MERCHANT_MERCHANTCODE":"999008881", "DS_MERCHANT_TERMINAL":"2", "DS_MERCHANT_TRANSACTIONTYPE":"0", "DS_MERCHANT_PAN":"XXXXXXXXXXXXXXXXXX", "DS_MERCHANT_CURRENCY":"978", "DS_MERCHANT_AMOUNT":"1000", "DS_MERCHANT_DCC":"Y"
}

 

Como respuesta se obtendrá lo siguiente:

{
"Ds_Order":"1552580496",
"Ds_MerchantCode":"999008881", "Ds_Terminal":"2", "Ds_TransactionType":"0", "Ds_DCC":{
"InfoMonedaTarjeta":{ "monedaDCC":"840", "litMonedaDCC":"DOLAR U.S.A.",
"litMonedaRDCC":"USD", "importeDCC":"11.50",
"cambioDCC":"0.869841",
"fechaCambioDCC":"2019-01-16", "markUp":"0.03"
},
"InfoMonedaTitular":{ "monedaCome":"978", "litMonedaCome":"EUR", "importeCome":"10.00"
}
}
"Ds_Card_PSD2":"Y"
}