A continuación se presentan los pasos que debe seguir un comercio para la utilización de la librería .NET proporcionada por Redsys:
1. Importar la librería RedsysAPI y Newronsoft.Json en su proyecto.
2. Calcular el parámetro Ds_MerchantParameters. Para llevar a cabo el cálculo de este parámetro, inicialmente se deben añadir todos los parámetros de la petición de pago que se desea enviar.
Ejemplo de parámetros sin envío de datos de tarjeta:
//Creación del objeto RedsysAPI r = new RedsysAPI(); //Se incluyen los parámetros r.SetParameter(“DS_MERCHANT_AMOUNT”,importe); r.SetParameter(“DS_MERCHANT_ORDER”,numPedido); r.SetParameter(“DS_MERCHANT_MERCHANTCODE”,merchantCode); r.SetParameter(“DS_MERCHANT_CURRENCY”,moneda); r.SetParameter(“DS_MERCHANT_TRANSACTIONTYPE”,transactionType); r.SetParameter(“DS_MERCHANT_TERMINAL”,terminal); r.SetParameter(“DS_MERCHANT_MERCHANTURL”,merchantURL); r.SetParameter(“DS_MERCHANT_URLOK”,urlOK); r.SetParameter(“DS_MERCHANT_URLKO”,urlKO);
Ejemplo de parámetros con envío de datos de tarjeta:
//Creación del objeto RedsysAPI r = new RedsysAPI(); //Se incluyen los parámetros r.SetParameter(“DS_MERCHANT_AMOUNT”,importe); r.SetParameter(“DS_MERCHANT_ORDER”,numPedido); r.SetParameter(“DS_MERCHANT_ MERCHANTCODE”,merchantCode); r.SetParameter(“DS_MERCHANT_CURRENCY”,moneda); r.SetParameter(“DS_MERCHANT_TRANSACTIONTYPE”, transactionType); r.SetParameter(“DS_MERCHANT_TERMINAL”,terminal); r.SetParameter(“DS_MERCHANT_ MERCHANTURL”,merchantURL); r.SetParameter(“DS_MERCHANT_URLOK”,urlOK); r.SetParameter(“DS_MERCHANT_URLKO”,urlKO); r.SetParameter(“DS_MERCHANT_PAN”,numTarjeta); r.SetParameter(“DS_MERCHANT_ EXPIRYDATE”,expiryDate); r.SetParameter(“DS_MERCHANT_CVV2”,cvv2);
Por último, se debe llamar a la función de la librería “createMerchantParameters()”, tal y como se muestra a continuación:
string signature = r.createMerchantSignature(clave); Ds_Signature.Value = signature;
3. Calcular el parámetro Ds_Signature. Para llevar a cabo el cálculo de este parámetro, se debe llamar a la función de la librería “createMerchantSignature()” con la clave de comercio facilitada, tal y como se muestra a continuación:
string signature = r.createMerchantSignature(clave); Ds_Signature.Value = signature;
4. Una vez obtenidos los valores de los parámetros Ds_MerchantParameters y Ds_Signature, se debe rellenar el formulario de pago con los valores obtenidos, tal y como se muestra a continuación:
<form action=” https://sis-t.redsys.es:25443/sis/ realizarPago” method=”post”> <input runat=”server” type=”text” id=”Ds_Signature_ Version” name=”Ds_SignatureVersion” value=”HMAC_ SHA256_V1” /> <input runat=”server” type=”hidden” id=”Ds_MerchantParameters” name=”Ds_MerchantParameters” value=”eyJEU19NRVJDSEFOVF9BTU9VTlQiOiIxNDUiLCJEU19NRVJDSEFOVF9PUkRFUiI6MTQ2Mjc5NjIwMiwiRFNfTUVSQ0hBTlRfTUVSQ0hBTlRDT0RFIjoiMzI3MjM0Njg4IiwiRFNfTUVSQ0hBTlRfQ1VSUkVOQ1kiOiI5NzgiLCJEU19NRVJDSEFOVF9UUkFOU0FDVElPTlRZUEUiOiIwIiwiRFNfTUVSQ0hBTlRfVEVSTUlOQUwiOiIxIiwiRFNfTUVSQ0hBTlRfTUVSQ0hBTlRVUkwiOiJodHRwOlwvXC93d3cud2ViZGVsY29tZXJjaW8uY29tXC91cmxkZW5vdGlmaWNhY2lvbi5waHAiLCJEU19NRVJDSEFOVF9VUkxPSyI6Imh0dHA6XC9cL3d3dy53ZWJkZWxjb21lcmNpby5jb21cL3VybG9rLnBocCIsIkRTX01FUkNIQU5UX1VSTEtPIjoiaHR0cDpcL1wvd3d3LndlYmRlbGNvbWVyY2lvLmNvbVwvdXJsa28ucGhwIn0=” /> <input runat=”server” type=”hidden” id=”Ds_Signature” name=”Ds_Signature” value=”arbjAns wMyybenZIBKqxS8Fdw4nSWRdRXfmTPhHZkJg=” /> <input id=”Submit1” runat=”server” type=”submit” value=”Realizar Pago” /> </form>