Parámetros PSD2

A continuación se detallan los parámetros definidos en la PSD2 para realizar un pago.



Valores de los parámetros MERCHANT_SCA_EXCEPTION y DS_MERCHANT_SCA_EXCEPTION

Valor Concepto
LWV Excepción para importes bajos. Se pueden acoger a esta excepción los pagos de 30 EUR o menos,
TRA Excepción para transacciones de riesgo bajo por parte del adquirente/comercio.
El sistema de análisis de riesgos de PAYCOMET evaluará si el pago podrá acogerse a esta excepción en última instancia.
MIT Excepción para las transaciones iniciadas por el comercio.
Deberá ser utilizada para todos aquellos pagos no presenciales tales como suscripciones, pagos diferidos, incrementales, etc.
Cuando se elija esta excepción, se deberá indicar el parámetro MERCHANT_TRX_TYPE (ver tabla inferior) para especificar que tipo de pago iniciado por el comercio es.
Para poder utilizar esta excepción, el primer pago de cada cliente ha de ser ejecutado con SCA, es decir, pago seguro.
COR Excepción para pagos entre comercios.
MOT Excepción para pagos MOTO.


Valores de los parámetros MERCHANT_TRX_TYPE y DS_MERCHANT_TRX_TYPE

Valor Concepto
I Pago aplazado. Siempre referido a una compra INDIVIDUAL, el importe de las diferentes transacciones es fijo, y con un intervalo de tiempo definido
R Pago recurrente. El importe de las transacciones puede ser fijo o variable, y con un intervalo de tiempo definido
H Normalmente ante envíos parciales. También cuando el cliente amplía la estancia en hotel / alquiler del vehículo o cuando habiendo una autorización estimada, se solicita el importe final (“remate”)
E Original denegada por “saldo”; solo para ciertos sectores de actividad (para más detalle revisar la normativa de las marcas) y con un máximo de días desde la compra. Ejemplo relevante: “Transporte”
D Los que suceden con posterioridad a la operación por servicios prestados / usados desconocidos al principio. (Minibar, daños vehículo, multas....)
M Cuando durante el periodo de contrato se incurren en servicios adicionales
N cuando el comercio cobra servicios a los que el titular se comprometió, pero luego no cumplió con los términos acordados. Ejemplo relevante: reservas en hoteles no atendidas sin cancelar.
C Otros


Los parámetros MERCHANT_DATA y DS_MERCHANT_DATA deben ser un objeto JSON codificado en base 64 y a su vez en URL. En pseudocódigo, sería urlencode( base64_encode( JSON_Object ) ). El formato del objeto JSON debería verse así antes de realizar las codificaciones:


{
	"customer": {
		"id": "",
		"name": "",
		"surname": "",
		"email": "",
		"homePhone": {              
			"cc": "",
			"subscriber": ""
		},
		"mobilePhone": {            
			"cc": "",
			"subscriber": ""
		},
		"workPhone": {              
			"cc": "",
			"subscriber": ""
		},
		"firstBuy": ""
	},
	"shipping": {
		"shipAddrCity": "",         
		"shipAddrCountry": "",      
		"shipAddrLine1": "",        
		"shipAddrLine2": "",        
		"shipAddrLine3": "",
		"shipAddrPostCode": "",     
		"shipAddrState": ""         
	}, 
	"billing": {
		"billAddrCity": "",         
		"billAddrCountry": "",      
		"billAddrLine1": "",        
		"billAddrLine2": "",        
		"billAddrLine3": "",
		"billAddrPostCode": "",     
		"billAddrState": ""         
	},
	"acctID": "",
	"acctInfo": {
		"chAccAgeInd": "",
		"chAccChange": "",
		"chAccChangeInd": "",
		"chAccDate": "",
		"chAccPwChange": "",
		"chAccPwChangeInd": "",
		"nbPurchaseAccount": "",
		"provisionAttemptsDay": "",
		"txnActivityDay": "",
		"txnActivityYear": "",
		"paymentAccAge": "",
		"paymentAccInd": "",
		"shipAddressUsage": "",
		"shipAddressUsageInd": "",
		"shipNameIndicator": "",
		"suspiciousAccActivity": ""
	},
	"merchantRiskIndicator": {
		"deliveryEmailAddress": "",
		"deliveryTimeframe": "",
		"giftCardAmount": "",
		"giftCardCount": "",
		"giftCardCurr": "",
		"preOrderDate": "",
		"preOrderPurchaseInd": "",
		"reorderItemsInd ": "",
		"shipIndicator": ""
	},
	"threeDSRequestorAuthenticationInfo": {
		"threeDSReqAuthData": "",
		"threeDSReqAuthMethod": "",
		"threeDSReqAuthTimestamp": ""
	},
	"shoppingCart": [
		{
			"sku": "",
			"quantity": "",
			"unitPrice": "",
			"name": "",
			"category": ""
		}
	],
	"addrMatch": "",
	"purchaseInstalData": "",
	"recurringExpiry": "",
	"recurringFrequency": ""
}
		
Elemento Contenido Descripción
customer JSON Obligatorio. Nodo con información relativa al cliente de la tienda
customer.id [0-9] Obligatorio. Identificador del cliente en la tienda
customer.name [A-Za-z0-9]{1,254} Obligatorio. Nombre del cliente
customer.surname [A-Za-z0-9]{1,254} Obligatorio. Apellidos del cliente
customer.email [A-Za-z0-9]{1,254} Condicional. Dirección de correo electrónico del cliente. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y para facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
customer.homePhone JSON Condicional. Nodo con los datos del teléfono del domicilio del cliente. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
customer.homePhone.cc [0-9]{1,3} Prefijo internacional del teléfono del domicilio del cliente
customer.homePhone.subscriber [0-9]{1,15} Teléfono del domicilio del cliente
customer.mobilePhone JSON Condicional. Nodo con los datos del teléfono móvil del cliente. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
customer.mobilePhone.cc [0-9]{1,3} Prefijo internacional del teléfono móvil del cliente
customer.mobilePhone.subscriber [0-9]{1,15} Teléfono móvil del cliente
customer.workPhone JSON Condicional. Nodo con los datos del teléfono del trabajo del cliente. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
customer.workPhone.cc [0-9]{1,3} Prefijo internacional del teléfono del trabajo del cliente
customer.workPhone.subscriber [0-9]{1,15} Teléfono del trabajo del cliente
customer.firstBuy si|no Opcional. Indicador de si el cliente ya ha comprado en esta tienda
shipping JSON Condicional. Nodo con información relativa a la dirección de envío. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
shipping.shipAddrCity [A-Za-z0-9]{1,50} Condicional. Ciudad de la dirección de envío. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
shipping.shipAddrCountry [0-9]{3} Condicional. Código numérico (ISO 3166-1) del país de la dirección de envío. Obligatorio si se envía shipAddrState
shipping.shipAddrLine1 [A-Za-z0-9]{1,50} Condicional. Dirección de envío, línea 1. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
shipping.shipAddrLine2 [A-Za-z0-9]{1,50} Opcional. Dirección de envío, línea 2. Su envío es altamente recomendable
shipping.shipAddrLine3 [A-Za-z0-9]{1,50} Opcional. Dirección de envío, línea 3. Su envío es altamente recomendable
shipping.shipAddrPostCode [A-Za-z0-9]{1,16} Condicional. Código postal de la dirección de envío. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
shipping.shipAddrState [A-Za-z0-9]{3} Condicional. Estado o provincia de la dirección de envío. Corresponde al código de subdivisión ISO 3166-2. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
billing JSON Opcional. Nodo con información relativa a la dirección de facturación
billing.billAddrCity [A-Za-z0-9]{1,50} Condicional. Ciudad de la dirección de facturación. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
billing.billAddrCountry [0-9]{3} Condicional. Código numérico (ISO 3166-1) del país de la dirección de facturación. Obligatorio si se envía shipAddrState
billing.billAddrLine1 [A-Za-z0-9]{1,50} Condicional. Dirección de facturación, línea 1. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
billing.billAddrLine2 [A-Za-z0-9]{1,50} Opcional. Dirección de facturación, línea 2. Su envío es altamente recomendable
billing.billAddrLine3 [A-Za-z0-9]{1,50} Opcional. Dirección de facturación, línea 3. Su envío es altamente recomendable
billing.billAddrPostCode [A-Za-z0-9]{1,16} Condicional. Código postal de la dirección de facturación. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
billing.billAddrState [A-Za-z0-9]{3} Condicional. Estado o provincia de la dirección de facturación. Corresponde al código de subdivisión ISO 3166-2. Definido como Condicional por el estándar EMV 3DS, podría ser requerido según el emisor de la tarjeta. Altamente recomendado para permitir autenticaciones basadas en análisis del riesgo (Risk Based Analisys) y facilitar una experiencia de compra frictionless. Igualmente recomendable si se solicita la aplicación de exenciones SCA (PSD2)
acctID [A-Za-z0-9]{1,64} Opcional. Información adicional que se quiera enviar para la identificación de la cuenta
acctInfo JSON Opcional. Nodo con información adicional de la cuenta de usuario en la tienda. El envío de esta información es altamente recomendable
acctInfo.chAccAgeInd [A-Za-z0-9]{2} Opcional. Período de tiempo que el titular de la tarjeta ha tenido la cuenta en el comercio. Valores posibles:
01 = Sin cuenta (check-out como invitado)
02 = Creada en esta transacción
03 = Menos de 30 días
04 = Entre 30 y 60 días
05 = Más de 60 días
acctInfo.chAccChange [0-9]{8} Opcional. Fecha en que se modificó por última vez la cuenta del titular de la tarjeta en el comercio, incluida la dirección de facturación o de envío, la nueva cuenta de pago o los nuevos usuarios agregados. Formato de fecha: AAAAMMDD
acctInfo.chAccChangeInd [0-9]{2} Opcional. Período de tiempo transcurrido desde que se modificó por última vez la información de la cuenta del titular de la tarjeta en el comercio, incluida la dirección de facturación o de envío, la nueva cuenta de pago o los nuevos usuarios agregados. Valores aceptados:
01 = Modificado en esta transacción
02 = Menos de 30 días
03 = 30-60 días
04 = Más de 60 días
acctInfo.chAccDate [0-9]{8} Opcional. Fecha en que el titular de la tarjeta abrió la cuenta en el comercio. Formato de fecha: AAAAMMDD
acctInfo.chAccPwChange [0-9]{8} Opcional. Fecha en que el titular tuvo un cambio de contraseña en la cuenta del comercio o un restablecimiento de la cuenta. Formato de fecha: AAAAMMDD
acctInfo.chAccPwChangeInd [A-Za-z0-9]{2} Opcional. Indica el período de tiempo desde que la cuenta del titular de la tarjeta en el comercio tuvo un cambio de contraseña o restablecimiento de cuenta. Valores aceptados:
01 = Sin cambios
02 = Cambiada durante esta transacción
03 = Menos de 30 días
04 = Entre 30 y 60 días
05 = Más de 60 dias
acctInfo.nbPurchaseAccount [0-9]{1,4} Opcional. Número de compras con esta cuenta durante los últimos seis meses
acctInfo.provisionAttemptsDay [0-9]{1,3} Opcional. Número de intentos de agregar tarjeta en las últimas 24 horas
acctInfo.txnActivityDay [0-9]{1,3} Opcional. Número de transacciones (exitosas y abandonadas) para esta cuenta del titular de la tarjeta en el comercio en todas las cuentas de pago en las últimas 24 horas
acctInfo.txnActivityYear [0-9]{1,3} Opcional. Número de transacciones (exitosas y abandonadas) para esta cuenta del titular de la tarjeta en el comercio en todas las cuentas de pago del año anterior
acctInfo.paymentAccAge [0-9]{8} Opcional. Fecha en que la cuenta de pago se inscribió en la cuenta del titular de la tarjeta en el comercio. Formato de fecha: AAAAMMDD
acctInfo.paymentAccInd [A-Za-z0-9]{2} Opcional. Indica el período de tiempo que la cuenta de pago se inscribió en la cuenta del titular de la tarjeta en el comercio. Valores aceptados:
01 = Sin cuenta (check-out como invitado)
02 = Durante esta transacción
03 = Menos de 30 días
04 = Entre 30 y 60 días
05 = Más de 60 días
acctInfo.shipAddressUsage [0-9]{8} Opcional. Fecha en que la dirección de envío utilizada para esta transacción se utilizó por primera vez con el comercio. Formato de fecha: AAAAMMDD
acctInfo.shipAddressUsageInd [A-Za-z0-9]{2} Opcional. Indica cuándo la dirección de envío utilizada para esta transacción se utilizó por primera vez con el comercio. Valores aceptados:
01 = Esta transacción
02 = Menos de 30 días
03 = Entre 30 y 60 días
04 = Más de 60 días
acctInfo.shipNameIndicator [A-Za-z0-9]{2} Opcional. Indica si el nombre del titular de la tarjeta en la cuenta es idéntico al nombre de envío utilizado para esta transacción. Valores aceptados:
01 = Nombre en la cuenta idéntico al nombre de envío
02 = Nombre en la cuenta distinto del nombre de envío
acctInfo.suspiciousAccActivity [A-Za-z0-9]{2} Opcional. Indica si el comercio ha experimentado actividad sospechosa (incluido fraude anterior) en la cuenta del titular de la tarjeta. Valores aceptados:
01 = No se tiene constancia de actividad sospechosa
02 = Se tiene constancia de actividad sospechosa
merchantRiskIndicator JSON Opcional. Nodo con información adicional del comercio que representa la evaluación del nivel de riesgo de fraude para la autenticación. El envío de esta información es altamente recomendable
merchantRiskIndicator.deliveryEmailAddress [A-Za-z0-9]{1,254} Opcional. Para la entrega electrónica, la dirección de correo electrónico a la que se entregó la mercancía
merchantRiskIndicator.deliveryTimeframe [A-Za-z0-9]{2} Opcional. Indica el plazo de entrega de la mercancía. Valores aceptados:
01 = Entrega eletrónica
02 = Envío en el mismo día
03 = Envío 24 horas
04 = Envío en 2 ó más días
merchantRiskIndicator.giftCardAmount [A-Za-z0-9]{1,15} Opcional. Para compras de tarjetas prepago o tarjetas regalo, el importe total de la compra en unidades principales (por ejemplo, USD 123.45 es 123)
merchantRiskIndicator.giftCardCount [0-9]{2} Opcional. Para compras de tarjetas prepago o tarjetas regalo, recuento total de tarjetas prepago o tarjetas/códigos regalo compradas
merchantRiskIndicator.giftCardCurr [0-9]{3} Opcional. Para la compra de tarjeta prepago/regalo, el código ISO-4217 de moneda de la tarjeta
merchantRiskIndicator.preOrderDate [0-9]{8} Opcional. Para una compra preordenada, la fecha prevista de disponibilidad de la mercancía. Formato de fecha: AAAAMMDD
merchantRiskIndicator.preOrderPurchaseInd [A-Za-z0-9]{2} Opcional. Indica si el titular de la tarjeta realiza un pedido con disponibilidad o fecha de lanzamiento futuros. Valores aceptados:
01 = Mercancía disponible
02 = Disponibilidad en el futuro
merchantRiskIndicator.reorderItemsInd [A-Za-z0-9]{2} Opcional. Indica si el titular de la tarjeta está reordenando mercancía comprada previamente. Valores aceptados:
01 = Primera vez que se compra
02 = Comprado anteriormente
merchantRiskIndicator.shipIndicator [A-Za-z0-9]{2} Opcional. Indica el método de envío elegido para la transacción. Los comercios deben elegir el código del indicador de envío que describa con mayor precisión la transacción específica del titular de la tarjeta, no su actividad comercial en general. Si se incluyen uno o más artículos en la venta, utilice el código del Indicador de envío para los bienes físicos, o si todos los productos son digitales, utilice el código del Indicador de envío que describe el artículo más caro.
Valores aceptados:
01 = Envío a la dirección de facturación del titular
02 = Envío a otra dirección verificada del cliente
03 = Envío a una dirección diferente a la de facturación del titular
04 = Envío a la tienda o recogida en local (la dirección de la tienda se almacenará en los campos de dirección de envío)
05 = Mercancía digital (incluye servicios online, tarjetas regalo electrónicas y cupones de descuento)
06 = Entradas de eventos y viajes, sin envío
07 = Otros (por ejemplo, juegos, servicios digitales sin envío, suscripciones a servicios online, etc.)
threeDSRequestorAuthenticationInfo JSON Opcional. Nodo con información adicional sobre cómo el cliente se autenticó en el inicio de sesión en la cuenta del comercio
threeDSRequestorAuthenticationInfo.threeDSReqAuthData [A-Za-z0-9]{1,2048} Opcional. Datos que documentan y soportan un proceso de autenticación específico. No está espeficado el contenido en la versión actual del protocolo
threeDSRequestorAuthenticationInfo.threeDSReqAuthMethod [A-Za-z0-9]{2} Opcional. Mecanismo utilizado por el titular para autenticarse en el comercio. Valores aceptados:
01 = Sin autenticación 3DS (por ejemplo, titular identificado como invitado)
02 = Logado a la cuenta en el ACS utilizando las credenciales del ACS
03 = Logado a la cuenta en el ACS usando un identificador federado
04 = Logado a la cuenta en el ACS usando las credenciales del emisor
05 = Logado a la cuenta en el ACS usando una autenticación de terceros
06 = Logado a la cuenta en el ACS usando un autenticador FIDO
07–79 = Reservados
80–99 = Reservados
threeDSRequestorAuthenticationInfo.threeDSReqAuthTimestamp [0-9]{12} Opcional. Fecha y hora UTC de la autenticación. Formato de fecha: AAAAMMDDHHMM
shoppingCart Array JSON Opcional. Nodo con la lista de artículos adquiridos en la tienda
shoppingCart[].sku [A-Za-z0-9]{1,15} Opcional. Identificador del producto
shoppingCart[].quantity [0-9]{5} Opcional. Unidades del producto adquiridas
shoppingCart[].unitPrice [0-9]{1,8} Opcional. Importe unitario de cada producto en formato entero. 1,00 EURO = 100, 4,50 EUROS = 450...
shoppingCart[].name [A-Za-z0-9]{1,254} Opcional. Nombre del producto
shoppingCart[].category [A-Za-z0-9]{1,50} Opcional. Categoría del producto
addrMatch [A-Za-z]{1} Opcional. Indica si la dirección de envío es la misma que la dirección de facturación
Y = La dirección de envío es la misma que la de facturación
N = Las direcciones de envío y facturación son diferentes
purchaseInstalData [0-9]{1,3} Condicional. Obligatorio para operaciones Instalment (MERCHANT_TRX_TYPE = I). Indica el número máximo de autorizaciones en pago aplazado
Valores aceptados: El valor debe ser mayor que 1
recurringExpiry [0-9]{8} Condicional. Obligatorio para operaciones Recurring (MERCHANT_TRX_TYPE = R) e Instalment (MERCHANT_TRX_TYPE = I). La fecha a partir de la cual no se harán más autorizaciones. Formato aceptado: AAAAMMDD
recurringFrequency [A-Za-z0-9]{1,4} Condicional. Obligatorio para operaciones Recurring (MERCHANT_TRX_TYPE = R) e Instalment (MERCHANT_TRX_TYPE = I). Indica el mínimo número de días entre autorizaciones