Skip to content

Instantly share code, notes, and snippets.

@joseconti
Created June 14, 2024 07:52
Show Gist options
  • Save joseconti/b3d916a8e927c7794bbd06ca88f54e52 to your computer and use it in GitHub Desktop.
Save joseconti/b3d916a8e927c7794bbd06ca88f54e52 to your computer and use it in GitHub Desktop.
Prueba nuevo certificado Redsys
<?php
$url_conexion = 'https://sis-t.redsys.es:25443';
$conexion = curl_init();
curl_setopt( $conexion, CURLOPT_URL, $url_conexion );
curl_setopt( $conexion, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt( $conexion, CURLOPT_TIMEOUT, 60 );
curl_setopt( $conexion, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $conexion, CURLOPT_POST, true );
// CURLOPT_SSL_VERIFYPEER indica a cURL que valide la cadena de certificados del servidor con los certificados raíz del almacén local
curl_setopt( $conexion, CURLOPT_SSL_VERIFYPEER, true );
// CURLOPT_SSL_VERIFYHOST indica a cURL que verifique que el certificado del servidor se corresponde con la URL del mismo.
curl_setopt( $conexion, CURLOPT_SSL_VERIFYHOST, 2 );
// CURLOPT_CERTINFO indica a cURL que guarde la información sobre la cadena de certificados usada para la verificación
curl_setopt( $conexion, CURLOPT_CERTINFO, true );
// Descomenta el siguiente parámetro para hacer pruebas estableciendo manualmente el directorio de certificados raíz a usar
// curl_setopt($conexion, CURLOPT_CAPATH, $ruta_certificados_raiz );
$resultado_envio = curl_exec( $conexion );
$info_conexion = curl_getinfo( $conexion );
curl_close( $conexion );
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
</head>
<body>
<div>
<h3>INFO CONEXIÓN</h3>
<pre class="cuadro_error" readonly><?php print_r( array_values( $info_conexion ) ); ?></pre>
</div>
</body>
</html>
@joseconti
Copy link
Author

joseconti commented Jun 14, 2024

¿Cómo funciona?

Sólo debes subir el archivo al directorio raiz (o dónde desees) de tu comercio electrónico.

Una vez subido, visita el archivo para ejecutarlo, por ejempolo https://misitio.com/prueba-cert.php

Esto imprimirá en pantalla el resultado. Deberemos fijarnos en el array que se imprimirá, exactamente en el elemento numero 6. Debe ser 0, cualquier otro número querrá decir que no estais preparados para el nuevo certifciado de Redsys y tendréis problemas.

Array
(
[0] => https://sis-t.redsys.es:25443/
[1] => text/html
[2] => 200
[3] => 385
[4] => 0
[5] => -1
[6] => 0
[7] => 0
[8] => 0.137396
[9] => 0.000311...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment