Operativa DCC

DCC es compatible con cualquier método de integración, solo es necesario contratar este servicio. En el caso que la integración sea mediante redirección no es necesario realizar ninguna modificación. En el caso de REST o InSite se describe a continuación:

Funcionamiento

descripcion general del flujo

Los pagos con DCC siguen 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.

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.

NOTA: Como se muestra en el gráfico la operativa DCC se basa en el envío de dos peticiones al TPV virtual. Para garantizar el correcto funcionamiento del sistema, es necesario que el comercio mantenga la sesión entre la primera y la segunda llamada.
El mantenimiento de la sesión dependerá del software utilizado para realizar la petición REST. Si, por ejemplo, se utiliza el API de Axis, será suficiente con utilizar el mismo “Stub” para las dos peticiones y fijar la propiedad setMaintainSession(true) antes de realizar la primera llamada.

Modalidad REST

Inicia Petición


El mensaje de petición inicial posee los mismos datos que una petición normal vía REST, a esta petición debe añadirse el parámetro "Ds_Merchant_DCC" con el valor "Y":

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

Tras esta petición, se devolverá el mensaje de respuesta DCC:

		
{
"Ds_TransactionType": "0",
"Ds_Terminal": "2",
"Ds_Order": "1552580496",
"Ds_MerchantCode": "999008881",
"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"
}
}
}
		
	

Trata Petición


En esta segunda petición debe hacerse la confirmación DCC:

							
{
  "DS_MERCHANT_AMOUNT": "1000",
  "DS_MERCHANT_CURRENCY": "978",
  "DS_MERCHANT_DCC": {
    "monedaDCC": "840",
    "importeDCC": "11.50"
  },
  "DS_MERCHANT_MERCHANTCODE": "999008881",
  "DS_MERCHANT_ORDER": "1552571678",
  "DS_MERCHANT_PAN": " XXXXXXXXXXXXXXXXXX ",
  "DS_MERCHANT_CVV2": "123",
  "DS_MERCHANT_EXPIRYDATE": "1512",
  "DS_MERCHANT_TERMINAL": "2",
  "DS_MERCHANT_TRANSACTIONTYPE": "1"
}
						
              

Tras esta petición, se devolverá el mensaje final de la operación:

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

Modalidad InSite

Inicia Petición


El mensaje de petición inicial posee los mismos datos que una petición normal, a esta petición debe añadirse en esta petición el parámetro "Ds_Merchant_Dcc" con el valor "Y":

		
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_DCC": "Y",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "1552571678",
"DS_MERCHANT_IDOPER": "9c75f357629acb672e0f5444401d138f02e834ad ",
"DS_MERCHANT_TERMINAL": "2",
"DS_MERCHANT_TRANSACTIONTYPE": "1"
}
		
	

Tras esta petición, se devolverá el mensaje de respuesta DCC:

		
{
"Ds_TransactionType": "0",
"Ds_Terminal": "2",
"Ds_Order": "1552580496",
"Ds_MerchantCode": "999008881",
"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"
}
}
}
		
	

Trata Petición


En esta segunda petición debe hacerse la confirmación DCC:

							
{
  "DS_MERCHANT_AMOUNT": "1000",
  "DS_MERCHANT_CURRENCY": "978",
  "DS_MERCHANT_DCC": {
    "monedaDCC": "840",
    "importeDCC": "11.50"
  },
  "DS_MERCHANT_MERCHANTCODE": "999008881",
  "DS_MERCHANT_ORDER": "1552571678",
  "DS_MERCHANT_IDOPER": "9c75f357629acb672e0f5444401d138f02e834ad ",
  "DS_MERCHANT_TERMINAL": "2",
  "DS_MERCHANT_TRANSACTIONTYPE": "1"
}
						
              

Tras esta petición, se devolverá el mensaje final de la operación:

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