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.
- IMPORTANTE: En la petición REST, el valor del
parámetro
Ds_Merchant_TransactionType
debe ser"0"
.
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": "49",
"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":"49",
"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": "49",
"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"
}