Guia para instalar la tpv Redsys MEJORADA
Autor: Juan P.
una ayuda para quien 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
Con respecto a la otra guia que hice , aqui se ha incluido la redireccion a ok y ko y se ha mejorado la ultima pantalla de la pasarela , asi como se ha incluido un post de Xerardo D. que implementaba el numero de pedido en la confirmacion de pago
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 :
REALIZAR PAGO
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 :
- Para dirigir a OK y KO he añadido esto :
$urlOK="http://www.sandaliascangrejeras.com/OK.html";
$urlKO="http://www.sandaliascangrejeras.com/KO.html"
que son las paginas a las que me reenviara la tpv una vez finalizado el proceso si es bueno a OK y si es fallido a KO , antes he creado la pagina KO y OK en mi caso .
Si quereis dirigir a otra pagina , teneis que indicarlo ahi.
Esto se debe de completar en estas lineas ,
$miObj->setParameter("DS_MERCHANT_URLOK",$urlOK);
$miObj->setParameter("DS_MERCHANT_URLKO",$urlKO);
que figuran mas abajo . Estas lineas van a dirigir a $urlOK o $urlKO
- como poner el mismo num de pedido de website en tpv redsys (aportado por Xerardo D,)
En la guía aparece esta linea:
$miObj->setParameter("DS_MERCHANT_ORDER",strval($id));
para que aparezca el nº de pedido tiene que ser:
$miObj->setParameter("DS_MERCHANT_ORDER",strval($order));
- 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 y con los cambios de arriba ya hechos
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";
$urlOK="http://www.sandaliascangrejeras.com/OK.html";
$urlKO="http://www.sandaliascangrejeras.com/KO.html";
$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",$urlOK);
$miObj->setParameter("DS_MERCHANT_URLKO",$urlKO);
//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);
?>
"/>
"/>
"/>
guardar y volver al mapa
Ya se tiene creado el fichero tpv.php
NOTA : estas tres lineas pueden aparecer en la pantalla si no estan como aqui
"/>
"/>
"/>
si no pone input type="hidden" ,,,,,,,, (normalmente pondra "text") os aparecera una cosa fea , al poner hidden , lo oculta
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 matoletas sandalias cangrejeras piel
- 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
Autor
repito el paso 1
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 :
<HHa href="http://www.sandaliascangrejeras.com/cart/tpv.php?amount1=[PRICE,100,######]&order1=[ORDER_NO]"><button><font color="#0000cc"><strong>REALIZAR PAGO</strong></font></button>
<HH/a>
cambiar <HHa href= por lo mismo sin HH <HH/a> por lo mismo quitando HH
Autor
El mismo manual para descargar