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
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"
}