Tpv redsys como hacerlo
Autor: Juan P.
Visitado 2403,
Seguidores 1,
Compartilhado 0
estoy tratando de poner la tpv de redsys pero no puedo , no se por donde ir. He visto que en el carrito de compra en la opcion pago/tipo/inmediato hay un desplegable con varias opciones , es valida alguna para redsys? , sino es asi , como puedo hacerlo? solo he visto dos mensajes , uno reciente de Daniel L del año 2015 y otro de Cesar Perez de hace un par de meses , pero no entiendo. Alguna ayuda?
Publicado em
Hola como va?
En esa pantalla tienes que utilizar la opcion de codigo personalizado, y previamente contactarte con la empresa, ya que son ellos quienes te disponibilizan el codigo html que tienes que ingresar ahi para que tu web se comunique con su sistema.
Slds.
Autor
Esta es una guia que he hecho para mi , como recordatorio, por si tengo que volver a instalar redsys , y al mismo tiempo
como una ayuda para aquel que tenga el mismo problema que yo he tenido al instalar el tarjetero o pasarela de pago de redsys usando website o cualquier otro
programa , ya que la diferencia es minima
Los pasos son los siguientes
1.- en el carrito (paso 1) , gestion del pedido , agregamos o elegimos y editar tarjeta de credito ,
le ponemos nombre , abrimos la pestaña tipo y marcamos pago inmediato , desplegamos las opciones y elegimos "personalizado"
en la ventana para el codigo html ponemos esta instruccion :
<a href="http://www.sandaliascangrejeras.com/cart/tpv.php?amount1=[PRICE,100,######]&order1=[ORDER_NO]"><button><font color="#0000cc"><strong>REALIZAR PAGO</strong></font></button>
</a>
con eso al hacer click en el poton lo enviamos al fichero tpv.php que pondremos en la raiz cart despues
2.- Vamos a hacer el fichero tpv.php
2.1 .- En el mapa creamos una nueva pagina a la que llamamos tpv , ahora para hacerla php , vamos a propiedades , avanzado y en eldesplegable superior izquierdo elegimos php y cerramos
2.2 .- Vamos a crear esta pagina, y para evitar tareas de retoque posteriores , lo hago ahora y creamos :
- objeto texto (mas tarde se vera el motivo) , y le pongo la literatura que queramos en mi caso he puesto esto :
SE LE VA A DIRIGIR A UNA PASARELA DE PAGO SEGURO
PULSE EL BOTON " ENVIAR "
- objeto html : y aqui la madre de todos los lios , Pongo este codigo php que ya he retocado en algunos puntos ,
aviso :
- sustituir el nombre de la pagina solamente , pero no lo de /cart/index.html#1 donde figure
- poner la clave en donde lo indico
- como servidor de redsys ya figura https://sis.redsys.es/sis/realizarPago que es el definitivo ,
si fuera en pruebas o test , poner este : https://sis-t.redsys.es:25443/sis/realizarPago
codigo php retocado para que luego no salga una pagina fea
<?php
// Se incluye la librería
include 'apiRedsys.php';
// Se crea Objeto
$miObj = new RedsysAPI;
// VALORES PASADOS DEBOTO DE LIST TIPOS DEPAGO
$order = $_GET['order1'];
$amount = $_GET['amount1'];
// Valores de entrada
$fuc="343455457";
$terminal="1"
;
$moneda="978";
$trans="0";
$url="http://www.sandaliascangrejeras.com/";
$urlOKKO="http://www.sandaliascangrejeras.com/cart/index.html#step1";
$id=time();
$cien=100;
$precio=$amount/100;
// Se Rellenan los campos
$miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
$miObj->setParameter("DS_MERCHANT_ORDER",strval($id));
$miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$fuc);
$miObj->setParameter("DS_MERCHANT_CURRENCY",$moneda);
$miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$trans);
$miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
$miObj->setParameter("DS_MERCHANT_MERCHANTURL",$url);
$miObj->setParameter("DS_MERCHANT_URLOK",$urlOKKO);
$miObj->setParameter("DS_MERCHANT_URLKO",$urlOKKO);
//Datos de configuración
$version="HMAC_SHA256_V1";
$kc = 'PONER AQUI LA CLAVE REDSYS';//Clave recuperada de CANALES
// Se generan los parámetros de la petición
$request = "";
$params = $miObj->createMerchantParameters();
$signature = $miObj->createMerchantSignature($kc);
?>
<html lang="es">
<head>
</head>
<body>
<form name="frm" action="https://sis.redsys.es/sis/realizarPago" method="POST" target="_blank">
<input type="text" name="Ds_SignatureVersion" value="<?php echo $version; ?>"/></br>
<input type="text" name="Ds_MerchantParameters" value="<?php echo $params; ?>"/></br>
<input type="text" name="Ds_Signature" value="<?php echo $signature; ?>"/></br>
</br>
<input type="submit" value="Enviar" >
</form>
</body>
</html>
guardar y volver al mapa
Ya se tiene creado el fichero tpv.php
3.- Preparar para subir a la web
Se exporta el proyecto eligiendo la opcion exportar el proyecto a un disco
Para hacer la pagina de enlace menos fea , yo he quitado algunas cosas que website crea por defecto , voy a :
- centrar el titulo de la pagina , matoletas sandalias cangrejeras , Editamos el fichero tpv.php , con el bloc de notas y
busco la frase y la dejo asi <center>matoletas sandalias cangrejeras piel</center>
- eliminar una lineas que me aparecen y que son
Vaya al contenido
menu principal
regreso al contenido
regreso al menu principal
lo hago buscandolas y borrando
guardo los cambios y cierro
4.- Descarga de la API de redsys y copia a la carpeta cart
vamos a la web de redsys y en descargas elejimos integracion por redireccion APIPHP , que es este link :
http://www.redsys.es/comercio-electronico/modulos/API_PHP.zip
descomprimimos el zip y elegimos el directorio : redsysHMAC256_API_PHP_4.0.2
- descomprimir y copiamos su contenido en el directorio cart de la exportacion anterior del proyecto (los ficheros ejemplo no hace falta)
- el fichero tpv.php lo copiamos tambien a la carpeta cart
5 .- lo subimos por ftp y funciona
6.- Al hacer una copia de seguridad , yo guardo tambien una copia de tpv.php retocado para no tener que hacerlo todo otra vez
mi punto de partida fue este mensaje de https://helpcenter.websitex5.com/pt/post/131303 de Carlos B y la ayuda de Roberto
tuve un problema estupido y fue que cree el fichero tpv en mayusculas , asi: TPV y al crearlo website no se porque me lo creo en minusculas , tpv , y
esto me causo muchos problemas , atencion a estas pequeñas cosas
Hola Juan P.
Muy buen aporte, da el tema por solucionado y ayudas a la comunidad
Saludos
Jorge M.
Autor
solucionado