Autorización

Este tipo de operación se corresponde con el concepto que tenemos de pago clásico, en el cual el cliente introduce sus datos de tarjeta y el comercio realiza una petición al servidor de Redsys con estos mismos datos por un importe determinado.

Una autorización puede realizarse mediante las siguientes vías de integración:

Modalidad REST

Ejemplo de pago con autorización vía REST.


Para realizar una autorización vía rest, es necesario envíar el parámetro "Ds_MerchantParameters" del siguiente modo:

						
	{
	  "DS_MERCHANT_AMOUNT": "145",
	  "DS_MERCHANT_CURRENCY": "978",
	  "DS_MERCHANT_CVV2": "123",
	  "DS_MERCHANT_EXPIRYDATE": "1512",
	  "DS_MERCHANT_MERCHANTCODE": "999008881",
	  "DS_MERCHANT_ORDER": "1446068581",
	  "DS_MERCHANT_PAN": "454881********04",
	  "DS_MERCHANT_TERMINAL": "1",
	  "DS_MERCHANT_TRANSACTIONTYPE": "0"
	}
						
					

Una vez realizada esta petición, se recibe una respuesta que puede contener un error, o un elemento "Ds_MerchantParameters", el cual debemos decodificar en BASE64. De esta forma obtenemos el parámetro Ds_Response, si su valor es "0000" el pago ha sido autorizado

						
	{
	  "Ds_Amount": "145",
	  "Ds_AuthorisationCode": "501602",
	  "Ds_CardNumber": "4548810000000004",
	  "Ds_Card_Brand": "1",
	  "Ds_Card_Country": "724",
	  "Ds_Currency": "978",
	  "Ds_Language": "1",
	  "Ds_MerchantCode": "999008881",
	  "Ds_Order": "1446068581",
	  "Ds_Response": "0000",
	  "Ds_SecurePayment": "0",
	  "Ds_Terminal": "1",
	  "Ds_TransactionType": "0"
	}
								
							

Modalidad Redirección

Ejemplo de pago con autorización vía Redirección.


Para realizar una autorización mediante redirección, es necesario envíar el parámetro "Ds_MerchantParameters" del siguiente modo:

						
	{
	  "DS_MERCHANT_ORDER":"1552565870",
	  "DS_MERCHANT_MERCHANTCODE":"999008881",
	  "DS_MERCHANT_TERMINAL":"999",
	  "DS_MERCHANT_CURRENCY":"978",
	  "DS_MERCHANT_TRANSACTIONTYPE":"0",
	  "DS_MERCHANT_AMOUNT":"1000",
	  "DS_MERCHANT_MERCHANTURL":"http://www.prueba.com/urlNotificacion.php",
	  "DS_MERCHANT_URLOK":"http://www.prueba.com/urlOK.php",
	  "DS_MERCHANT_URLKO":"http://www.prueba.com/urlKO.php"
	}
						
					

Una vez realizada esta petición, se recibe una respuesta que puede contener un error, o un elemento "Ds_MerchantParameters", el cual debemos decodificar en BASE64. De esta forma obtenemos el parámetro "Ds_Response", si su valor es "0000" el pago ha sido autorizado

						
	{
	  "Ds_Date":"10%2F12%2F2019",
	  "Ds_Hour":"09%3A41",
	  "Ds_SecurePayment":"0",
	  "Ds_Card_Type":"D",
	  "Ds_Card_Country":"724",
	  "Ds_Amount":"1000",
	  "Ds_Currency":"978",
	  "Ds_Order":"1575967259",
	  "Ds_MerchantCode":"999008881",
	  "Ds_Terminal":"1",
	  "Ds_Response":"0000",
	  "Ds_MerchantData":"",
	  "Ds_TransactionType":"0",
	  "Ds_ConsumerLanguage":"1",
	  "Ds_AuthorisationCode":"372663",
	  "Ds_Card_Brand":"2"
	}
								
							

Modalidad InSite

Ejemplo de pago con autorización vía InSite.


Para realizar una autorización vía insite, es necesario envíar el parámetro "DS_MERCHANT_IDOPER" en el elemento "Ds_MerchantParameters":

						
	{
	  "DS_MERCHANT_AMOUNT": "145",
	  "DS_MERCHANT_CURRENCY": "978",
	  "DS_MERCHANT_MERCHANTCODE": "999008881",
	  "DS_MERCHANT_ORDER": "1446068581",
	  "DS_MERCHANT_IDOPER": "9c75f357629acb672e0f5444401d138f02e834ad ",
	  "DS_MERCHANT_TERMINAL": "1",
	  "DS_MERCHANT_TRANSACTIONTYPE": "0"
	}
						
					

Una vez realizada esta petición, se recibe una respuesta que puede contener un error, o un elemento "Ds_MerchantParameters", el cual debemos decodificar en BASE64. De esta forma obtenemos el parámetro "Ds_Response", si su valor es "0000" el pago ha sido autorizado

						
	{
	  "Ds_Amount": "145",
	  "Ds_AuthorisationCode": "501602",
	  "Ds_CardNumber": "454881********04",
	  "Ds_Card_Brand": "1",
	  "Ds_Card_Country": "724",
	  "Ds_Currency": "978",
	  "Ds_Language": "1",
	  "Ds_MerchantCode": "999008881",
	  "Ds_Order": "1446068581",
	  "Ds_Response": "0000",
	  "Ds_SecurePayment": "0",
	  "Ds_Terminal": "1",
	  "Ds_TransactionType": "0"
	}