Inicio arrow Mdulos de pago

Te ha servido de ayuda?

¡Es fácil agradecerlo!

¿Te ha servido de ayuda?...ayúdanos

Además contribuirás a que sigamos desarrollando y ofreciendo libremente módulos a la comunidad.
Mdulo de pago Ceca para osCommerce, ZenCart y xt:commerce

Volver al artculo

Comentario cuestionado

1. 30-08-2009 15:32

ZenCart: el mdulo bloquea el pago
Hola, tengo un problema bastante curioso: 
He instalado este mdulo en la tienda de un cliente (ZenCart 1.3.8a sobre Linux/Apache, en hosting compartido), y al habilitarlo bloquea el proceso de pago: al continuar desde el primer paso del proceso (seleccionar mtodo de envo) al segundo paso (seleccionar medio de pago) aparece una pgina en blanco. 
Lo curioso del caso es que en mi servidor de pruebas (con la misma versin de ZenCart sobre WinXP/Apache), todo funciona perfectamente... 
En el servidor del cliente he hecho pruebas con la tienda en modo normal y en mantenimiento, con otro mdulo de pago con tarjeta (etpv_ZhenIT) habilitado, deshabilitado y desinstalado, he desinstalado el mdulo ceca_ZhenIT (comprobando incluso que la tabla correspondiente de la base de datos haba desaparecido) y lo he vuelto a instalar copiando de nuevo los archivos, he comprobado varias veces que todos los archivos del mdulo estuvieran en su sitio, he comprobado incluso que la rutina de clculo de firma proporcionada por la Ceca estaba bien compilada y funcionaba correctamente (aunque dudo que esto influya en este punto del proceso)... y la nica forma de que el proceso de pago vuelva a funcionar es deshabilitando (o desinstalando) ceca_ZhenIT. 
Ya no se me ocurre nada ms... alguna idea? 
Gracias...
» Ver todas las 14 respuestas
Ral
14 respuestas

1. 31-08-2009 07:55

Diferentes versiones de PHP?
Supongo que el problema ser que tienes diferentes versiones de PHP en los servidores. 
 
Para saber que es lo que est haciendo fallar al mdulo en tu servidor de produccin, puedes aadir la siguiente lnea al configure.php: 
 
define(' STRICT_ERROR_REPORTING'.true);  
 
Al ir a la pgina que se te queda en blanco, debera de mostrarte el error en pantalla indicando la lnea problemtica. 
 
Te agradecera que nos pagases el error que te muestra aqu mismo.
» Responder a ste comentario...
Administrator

2. 31-08-2009 09:00

S, diferentes versiones de PHP
El problema probablemente venga de ah... en el servidor de pruebas local tengo PHP 5.2.6, y en el servidor de produccin est PHP 4.4.8 :sigh 
En cuanto a localizar la lnea problemtica, he aadido la lnea Code:
define(' STRICT_ERROR_REPORTING', true);
 
a configure.php, pero la pgina sigue apareciendo (despus de un buen rato) en blanco, y no contiene ningn mensaje de error: la extensin de Firefox "Web Developer" me devuelve en "Ver cdigo generado" una pgina totalmente en blanco: Code:

(y estoy convencido de que el mnimo marcado HTML que devuelve lo pone la propia extensin). 
Voy a intentar que el cliente pida a la empresa de hosting que les pasen a un servidor con PHP5, pero en cualquier caso sera interesante saber qu est pasando... 
Gracias otra vez :)
» Responder a ste comentario...
Ral

3. 31-08-2009 09:09

Lo que devuelve "Ver cdigo generado"
Perdona, no contaba con que el cdigo que he pegado es HTML... Lo que devuelve "Ver cdigo generado" es: 
Code:

» Responder a ste comentario...
Ral

4. 31-08-2009 09:10

Prueba el cdigo en application_top.php
Si as no te muestra el error, prueba a poner el cdigo: 
 
Code:
define(' STRICT_ERROR_REPORTING', true);
 
 
en el application_top.php
» Responder a ste comentario...
Administrator

5. 31-08-2009 09:14

Lo que devuelve "Ver cdigo generado"
Nada, que no hay manera... Pongo el cdigo HTML sin los ngulos de etiqueta: 
Code:
html head /head body /body /html
 
Es decir, una pgina totalmente vaca.
» Responder a ste comentario...
Ral

6. 31-08-2009 09:21

Tambin en application_top.php
Lo he pegado al final de application_top.php y el resultado es el mismo, pgina en blanco. :sigh
» Responder a ste comentario...
Ral

7. 31-08-2009 09:27

Pgalo al principio
Pgalo al principio
» Responder a ste comentario...
Administrator

8. 31-08-2009 09:41

Pegado al principio...
Lo he pegado al principio, justo debajo de los comentarios de documentacin, y sigue sin mostrar nada... :sigh
» Responder a ste comentario...
Ral

9. 31-08-2009 09:49

Prueba a
sustituir las lneas: 
Code:
 
if (defined(' STRICT_ERROR_REPORTING') && STRICT_ERROR_REPORTING == true) { 
@ini_set('display_errors', '1'); 
error_reporting(E_ALL); 
} else { 
error_reporting(E_ALL & ~E_NOTICE); 
}
 
 
por: 
Code:
 
//if (defined(' STRICT_ERROR_REPORTING') && STRICT_ERROR_REPORTING == true) { 
@ini_set('display_errors', '1'); 
error_reporting(E_ALL); 
//} else { 
// error_reporting(E_ALL & ~E_NOTICE); 
//} 

 
 
Si as ya no te sale nada... no podemos ayudarte.
» Responder a ste comentario...
Administrator

10. 24-09-2009 18:38

Error corregido en PHP5
Despus de varias urgencias de clientes, una gripe y una (larga) migracin a un servidor con PHP5, vuelvo al tema (siento el parntesis temporal). 
Por una parte, os confirmo que el problema estaba en que el servidor corra PHP4: al migrar la tienda a PHP5 el problema ha desaparecido. 
Por otra, la lnea de cdigo  
Code:
define(' STRICT_ERROR_REPORTING', true);
 
no devolva nada porque la estaba aadiendo al archivo "application_top.php" del directorio "admin", no al de la raz de la tienda :roll 
Ahora el proceso de pago no se bloquea, y el mdulo enva correctamente los datos a la CECA, pero hay un nuevo problema: tanto en el entorno de pruebas como en el real, tras introducir los datos de la tarjeta y aceptar la operacin las pginas de CECA devuelven un mensaje de "Operacin no autorizada - Comunicacin online incorrecta". En CECA me dicen que el problema est en que su sistema no recibe respuesta de nuestro sitio. 
He comprobado que en el mdulo est habilitada la "confirmacion del pago on-line", y que la URL de notificacin es la misma que en su momento envi a la CECA y que aparece en la configuracin de la pasarela. Tambin he comprobado que la URL sea correcta y que el archivo "ceca_ZhenIT_return.php" est en el sitio correcto (en la raz de la tienda). Alguna idea? 
Gracias una vez ms...
» Responder a ste comentario...
Ral

11. 24-09-2009 23:09

Confirmacin online
Puedes probar a entrar a la direccin http://tu-tienda/ ceca_ZhenIT_return.php directamente con tu navegador a ver si salta algn error. 
 
Posibles causa para no recibir la confirmacin de CECA son varia: 
+Que la tienda est protegida con contrasea 
+Que la tienda no est accesible desde internet 
+Que tengas activada la encriptacin de sesiones o que en la instalacin de php est incorporado el suhosin patch (podarn comprobarlo con phpinfo() o en herramientas->informacin del servidor) 
...
» Responder a ste comentario...
Administrator

12. 28-09-2009 13:24

encriptacin de sesiones y retorno
Efectivamente, era un problema de encriptacin de sesiones con suhosin. Hemos desactivado la encriptacin en php.ini y asunto arreglado. 
 
Pero tenemos otro problema ms: aunque el proceso de pago acaba correctamente, tanto en la pasarela de CECA como en nuestro ZenCart, la pasarela no nos devuelve a la pgina de retorno correcta, "index.php? main_page=checkout_success", sino que intenta devolvernos a "index.php? main_page=checkout_success? Num_operacion=XXXX" (le aade el parmetro "Num_operacion=XXXX"), lo que da un error 404... 
 
Cmo podramos evitar que aada esa coletilla? 
 
Por cierto, se me olvidaba decirte que para que la rutina de clculo de firma que nos proporcion CECA funcionase correctamente tuvimos que deshabilitar en "modules/payment/ ceca_ZhenIT.php" las lneas correspondientes a "4.0 Multitienda", ya que utilizaban una URL aadida al parmetro Num_operacion que se le atragantaba a la rutina... No creemos que tenga nada que ver, pero nunca se sabe. :roll 
 
Gracias de nuevo
» Responder a ste comentario...
Ral

13. 05-10-2009 11:32

Pginas personalizadas
Si te pasa eso es que no has usado las pginas personalizadas que est en nuestro mdulo de pago. 
 
En la pgina MerchantId_OK.html, tendras que tener el siguiente javascript: 
 
 
_______ 
urlstr = "##URL_OK##"; 
if(urlstr.indexOf('?')==-1) 
urlstr +='?'; 
else 
urlstr +='&'; 
document.location.href = urlstr+" Num_operacion=##NUM_OPERACION# #"; 
_______ 
 
Si lo tienes y por cualquier razn no te funciona y usas zencart podras dejaro en: 
 
_______ 
 
document.location.href = "##URL_OK##"+"&Num_operacion=##NUM_OPERACION##"; 
_______
» Responder a ste comentario...
Administrator

14. 13-10-2009 11:05

instalacin tpv dll
hola, he visto por aqui que hay gente a la que le funciona el mdulo ceca_ZhenIT.php. Yo lo tengo instalado en un windows nt, y no me funciona a la hora de llamar al programa de calculo.exe. Por favor, me podis decir como se debe llamar a este programa para que funcione??  
 
muchas gracias.
» Responder a ste comentario...
Ana