Petición de autorización con DCC

 

Esta petición permite indicar al comercio que quiere iniciar una transacción con los datos de DCC obtenidos anteriormente.

La solicitud de autorizació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 enviados. 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/trataPeticionREST
  • Real: https://sis.redsys.es/sis/rest/trataPeticionREST

 

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 autorización con DCC al Servicio REST:

{
"DS_MERCHANT_ORDER":1552581014, "DS_MERCHANT_MERCHANTCODE":"999008881", "DS_MERCHANT_TERMINAL":"2", "DS_MERCHANT_CURRENCY":"978", "DS_MERCHANT_TRANSACTIONTYPE":"0", "DS_MERCHANT_AMOUNT":"1000", "DS_MERCHANT_PAN":"XXXXXXXXXXXXXXXXXX",
"DS_MERCHANT_EXPIRYDATE":"XXXX", "DS_MERCHANT_CVV2":"XXX", "DS_MERCHANT_DCC":{
"monedaDCC":"840", "importeDCC":"11.50"
}
}

 

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

{
"Ds_Amount":"1000", "Ds_Currency":"978", "Ds_Order":"1552572812",
"Ds_MerchantCode":"999008881", "Ds_Terminal":"2", "Ds_Response":"0000", "Ds_AuthorisationCode":"694432", "Ds_TransactionType":"0", "Ds_SecurePayment":"1", "Ds_Language":"1", "Ds_CardNumber":"454881******0004", "Ds_Card_Type":"C", "Ds_MerchantData":"", "Ds_Card_Country":"724", "Ds_Card_Brand":"1"
}