Jump to content

Fatal Error Al Instalar Modulo Mercadopago En Ps 1.6.1.4


cdangelo

Recommended Posts

Hola!
Soy nuevo en Prestashop y estoy intentanto instalar el modulo gratuito de Mercadopago para argentina (https://github.com/mercadopago/cart-prestashop) y me sale el siguiente error.

 

 

 

[PrestaShop] Fatal error in module file :/www/cli15037/htdocs/modules/mercadopago/includes/mercadopago.php:
Uncaught exception 'Exception' with message 'Can not call the API, status code 0.' in /www/cli15037/htdocs/modules/mercadopago/includes/mercadopago.php:252 Stack trace: #0 /www/cli15037/htdocs/modules/mercadopago/includes/mercadopago.php(265): MPRestCli::exec('POST', '/oauth/token', 'client_id=37295...', 'application/x-w...') #1 /www/cli15037/htdocs/modules/mercadopago/includes/mercadopago.php(57): MPRestCli::post('/oauth/token', 'client_id=37295...', 'application/x-w...') #2 /www/cli15037/htdocs/modules/mercadopago/mercadopago.php(519): MP_SDK->getAccessToken() #3 /www/cli15037/htdocs/modules/mercadopago/mercadopago.php(240): MercadoPago->validateCredential('372957605337690...', 'QwZmy5UqeejXZgU...') #4 /www/cli15037/htdocs/controllers/admin/AdminModulesController.php(867): MercadoPago->getContent() #5 /www/cli15037/htdocs/controllers/admin/AdminModulesController.php(1116): AdminModulesControllerCore->postProcessCallback() #6 /www/cli15037/htdocs/classes/controller/Controller.php(178): AdminModulesController

 

Nose como solucionarlo, vi que muchos tuvieron errores pero no de este tipo.
Me pueden ayudar???
Dejo adjunto el archivo /includes/mercadopago.php

Muchas gracias

mercadopago.php

Link to comment
Share on other sites

[PrestaShop] Fatal error in module file :C:\xampp\htdocs\prestashop\modules\mercadopago\includes\mercadopago.php:
Uncaught Exception: Can not call the API, status code 0. in C:\xampp\htdocs\prestashop\modules\mercadopago\includes\mercadopago.php:253 Stack trace: #0 C:\xampp\htdocs\prestashop\modules\mercadopago\includes\mercadopago.php(266): MPRestCli::exec('POST', '/oauth/token', 'client_id=70027...', 'application/x-w...') #1 C:\xampp\htdocs\prestashop\modules\mercadopago\includes\mercadopago.php(57): MPRestCli::post('/oauth/token', 'client_id=70027...', 'application/x-w...') #2 C:\xampp\htdocs\prestashop\modules\mercadopago\mercadopago.php(519): MP_SDK->getAccessToken() #3 C:\xampp\htdocs\prestashop\modules\mercadopago\mercadopago.php(240): MercadoPago->validateCredential('700274867463720', 'a1wcJPsxmhSrdzv...') #4 C:\xampp\htdocs\prestashop\controllers\admin\AdminModulesController.php(867): MercadoPago->getContent() #5 C:\xampp\htdocs\prestashop\controllers\admin\AdminModulesController.php(1116): AdminModulesControllerCore->postProcessCallback() #6 C:\xampp\htdocs\prestashop\classes\controller\Controller.php(178): Adm

 

 

 

tengo el mismo error creo !!!

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Algo parecido me ha pasado a mí pero con otro modulo donde cada vez que intentaba instalar me salía un error similar, la solución fue,

 

·         desinstalar el modulo por medio de back office de Prestashop

·         me dirigí a mi ftp para eliminar el modulo que ha dejado carpetas y archivos planos con registros de la instalación

·         y creo que lo más importante, elimine la tabla de la base de datos que creo el modulo al momento de instalarlo.

Luego volví a instalar el paquete y no tuve más problemas.

Espero que te sirva saludos.

Link to comment
Share on other sites

  • 2 months later...

Me pasa lo mismo que a ustedes...

 

De hecho me anduvo, probe el sandbox, todo bien, un dia quiero configurarlo para pasar a prod y me tiro ese error. Ahora no me deja desinstalarlo, borrarlo, confugurarlo... nada. Probe resubiendo los files x ftp y nada. (al dia de hoy que subieron una nueva version con fixes, y sigo con ese fatal error...)

 

Vi tu rta Maellipet, me podrias explicar como puedo borrar a mano para reinstalarlo? dado que por el panel ni me deja...

 

Mil gracias

 

Link to comment
Share on other sites

Buenas habeis probado este otro modulo https://www.prestashop.com/forums/topic/340301-aporte-modulo-mercado-pago-para-argentina/

Los errores puede que los tire por alguna tabla de la Base de datos, o incluso por el archivo /controllers/admin/AdminModulesController.php corrupto. Intentar instalar, siempre guardando el mismo archivo antes(Y un backup), y despues reemplazarlo por la siguiente version de prestashop a la que esteis utilizando actualmente(Por descartar bug de prestashop).

Espero haberos servido de ayuda.

Saludos

JavierP

Link to comment
Share on other sites

Gracias JavierP por respondernos! El modulo del link es el mismo solo que una version anterior, probe cambiando el archivo AdminModulesControllers,php y nada, osea no es el pobre Prestashop.

Como podria eliminar manualmente este modulo? Dado que no me deja desde el backoffice ni desinstalarlo, ni eliminarlo, ni configurarlo... :(

 

Gracias de antemano!!!

Link to comment
Share on other sites

Gracias JavierP por respondernos! El modulo del link es el mismo solo que una version anterior, probe cambiando el archivo AdminModulesControllers,php y nada, osea no es el pobre Prestashop.

 

Como podria eliminar manualmente este modulo? Dado que no me deja desde el backoffice ni desinstalarlo, ni eliminarlo, ni configurarlo... :(

 

Gracias de antemano!!!

Buenas Naon, pero tu tambien as probado con el modo errores de prestashop activado y te tira el mismo error? Sube un pantallazo porfa. Mejor que copiarlo en texto. A ver si canta algo mas. Saludos

JavierP

Link to comment
Share on other sites

Hola JavierP,

Active el modo debug y el error que me tira es este:

 

Fatal error: Uncaught exception 'Exception' with message 'Can not call the API, status code 0.' in /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php:146 Stack trace: #0 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php(169): MPRestCli::exec('POST', '/oauth/token', 'client_id=89350...', 'application/x-w...', 'https://api.mer...') #1 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(76): MPRestCli::post('/oauth/token', 'client_id=89350...', 'application/x-w...') #2 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(104): MPApi->getAccessToken() #3 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(239): MPApi->getCountry() #4 /webcp/docs/webs/285380/www/modules/mercadopago/mercadopago.php(880): MPApi->getPaymentMethods() #5 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(867): mercadopago->getContent() #6 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(1116): AdminModulesControllerCore in/webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php on line 146
[PrestaShop] Fatal error in module file :/webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php:
Uncaught exception 'Exception' with message 'Can not call the API, status code 0.' in /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php:146 Stack trace: #0 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php(169): MPRestCli::exec('POST', '/oauth/token', 'client_id=89350...', 'application/x-w...', 'https://api.mer...') #1 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(76): MPRestCli::post('/oauth/token', 'client_id=89350...', 'application/x-w...') #2 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(104): MPApi->getAccessToken() #3 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(239): MPApi->getCountry() #4 /webcp/docs/webs/285380/www/modules/mercadopago/mercadopago.php(880): MPApi->getPaymentMethods() #5 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(867): mercadopago->getContent() #6 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(1116): AdminModulesControllerCore

 

Veo que mucha gente esta con el mismo problema...
El resto de la tienda anda perfecto en modo debug inclusive... la verdad estoy bastante perdida...

Gracias por tu tiempo!!!

Laura
 

Link to comment
Share on other sites

Hola JavierP,

Active el modo debug y el error que me tira es este:

 

Fatal error: Uncaught exception 'Exception' with message 'Can not call the API, status code 0.' in /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php:146 Stack trace: #0 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php(169): MPRestCli::exec('POST', '/oauth/token', 'client_id=89350...', 'application/x-w...', 'https://api.mer...') #1 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(76): MPRestCli::post('/oauth/token', 'client_id=89350...', 'application/x-w...') #2 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(104): MPApi->getAccessToken() #3 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(239): MPApi->getCountry() #4 /webcp/docs/webs/285380/www/modules/mercadopago/mercadopago.php(880): MPApi->getPaymentMethods() #5 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(867): mercadopago->getContent() #6 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(1116): AdminModulesControllerCore in/webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php on line 146

[PrestaShop] Fatal error in module file :/webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php:

Uncaught exception 'Exception' with message 'Can not call the API, status code 0.' in /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php:146 Stack trace: #0 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPRestCli.php(169): MPRestCli::exec('POST', '/oauth/token', 'client_id=89350...', 'application/x-w...', 'https://api.mer...') #1 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(76): MPRestCli::post('/oauth/token', 'client_id=89350...', 'application/x-w...') #2 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(104): MPApi->getAccessToken() #3 /webcp/docs/webs/285380/www/modules/mercadopago/includes/MPApi.php(239): MPApi->getCountry() #4 /webcp/docs/webs/285380/www/modules/mercadopago/mercadopago.php(880): MPApi->getPaymentMethods() #5 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(867): mercadopago->getContent() #6 /webcp/docs/webs/285380/www/controllers/admin/AdminModulesController.php(1116): AdminModulesControllerCore

 

Veo que mucha gente esta con el mismo problema...

El resto de la tienda anda perfecto en modo debug inclusive... la verdad estoy bastante perdida...

Gracias por tu tiempo!!!

Laura

 

Buenas, te dije un pantallazo(Captura de pantalla) que no fuese texto pero bueno da igual :D 

https://github.com/mercadopago/cart-prestashop/tree/master/v1.6.x/mercadopago

https://github.com/mercadopago/cart-prestashop/blob/master/README.md#installation

 

Aqui te sale tanto como se instala como mas cosas. Haz lo como te dice aqui. Borra la carpeta primero completa del modulo mercadopago desde FTP, te descargas esta ultima que te paso en el link y la subes por FTP. Vete a modulos del backoffice a ver que te dice...

Tiene algo que ver con la API de MErcadoPago creo :ph34r:

Saludos

JavierP

Link to comment
Share on other sites

  • 4 weeks later...

Hola grupo!

 

Pude resolver el problema, ya que me daba el mismo error de "Can not call the API, status code 0" y no me dejaba desinstalar, ni eliminar ni hacer nada. En mi caso el problema no era el cURL, como indican en una de las entradas acá, sino de la VERSIÓN DEL PHP. Lo que hice fue entrar al cPanel de mi hosting y en la parte donde está el icono de PHP, hay otro que se llama "Seleccionar versión de PHP" (Select PHP Version), al entrar vi que la versión nativa con que trabajaba era la 5,6, así que la cambié a 5,5 (versión anterior) y guardé. Luego limpié la caché del navegador, entré a Prestashop y también limpié la caché de la tienda y luego busqué el módulo de Mercadopago y, ¡Listo!, pude desinstalarlo y eliminarlo. Luego de eso reinstale la última versión del módulo y me funcionó sin problemas. Así que los que tengan este inconveniente y no sea por problema del Certificado SSL ni de la conexión de internet, prueben cambiando la versión de PHP en su hosting a ver. En el caso de que su cPanel no tenga la opción de cambiar la versión de PHP como el mio, entonces cámbiense de proveedor, jajaja, es broma, llamen a su proveedor y pregunten que versión nativa de PHP maneja su hosting y pídanle que la cambie a 5,5 en el caso de que estén usando la 5,6.

Espero les ayude mi aporte!

  • Like 1
Link to comment
Share on other sites

Gracias Gonzalo por compartir esto! Me alegro tanto que hayas encontrado la respuesta, esto de MP era super desesperante!

No tengo esa opcion en mi cpanel ;(  mi plan es muy basico seguramente, mañana o el lunes me comunico con ellos a ver que pasa y les cuento...

 

GRACIAAAAAAAAASSSSSSS

Link to comment
Share on other sites

Gracias Gonzalo por compartir esto! Me alegro tanto que hayas encontrado la respuesta, esto de MP era super desesperante!

No tengo esa opcion en mi cpanel ;(  mi plan es muy basico seguramente, mañana o el lunes me comunico con ellos a ver que pasa y les cuento...

 

GRACIAAAAAAAAASSSSSSS

De nada Naon, espero que con esto puedas resolver el problema que tienes, ya que como es el mismo code 0 de llamada a la APIS, debería resolverse al cambiar la versión de PHP, ojalá que tu proveedor puede darte respuesta con respecto a lo del cambio. Suerte!

Link to comment
Share on other sites

Gonzalo, finalmente no puedo cambiar la version de php desde el host... pero bueno es saber el problema! 

En este momento tengo la version 5.6.24 sin posibilidad de moverme (bueno, salvo que me mueva de host jaja)

Voy a postear esto en github de MP, quizás viendo la resolución los devs puedan atacar el problema.

Mil gracias por tu ayuda!

Link to comment
Share on other sites

  • 2 weeks later...

Hola Gente,

A quien interese, yo tuve este mismo problema. "Can not call the API, status code 0". 

En mi caso vi que el primer error en el stack se refería al archivo "MPRestCli.php". Luego de ahí saltaban los errores en mercadopago.php. 

Me puse a verlo un poco y el error ocurre al hacer la primera petición a la API a través de curl. Teniendo el módulo de curl instalado en mi php me pregunté si no sería un tema de certificados... y ahí estaba la madre del borrego.

La solución:

ir a: https://curl.haxx.se/docs/caextract.html y bajarse en el link el "cacert.pem" ( o sea guardar el certificado que aparece en pantalla como cacert.pem).

Una vez hecho esto, subirlo a una carpeta en el servidor y copiar el path absoluto del archivo. Si no lo saben, pueden usar este script que pongo a continuación, grabarlo como findpath.php, subirlo al lugar del archivo y correrlo desde un browser. (Después borrenlo por las dudas)

 

<?php
echo __FILE__;
?>
 
Con eso van a obtener la ruta absoluta del archivo, y le agregan 'cacert.pem' al final, claro está.
Luego editan el php.ini (si no lo pueden hacer porque el hosting no lo habilita, se lo piden a soporte y ellos lo harán, si no lo hacen, cambien de hosting. O maldigan su suerte y martíllense los dedos de los pies.). La edición a hacer es casi en el final del archivo, donde aparece el curl.
 
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
; curl.cainfo =
 
Hay que quitar el ; en "curl.cainfo =" y completar con el path absolut que teníamos copiado en el paso anterior.
Tiene que quedar algo como:
 
curl.cainfo = D:\home\midominio.com\wwwroot\cert\cacert.pem 
 
Después de eso, hagan refresh en el admin de presta. No es necesario desinstalar el módulo de mercadopago ni nada por el estilo.
Y van a poder configurar el módulo sin el MALDITO ERROR.
 
Saludos y espero que les sirva.
Javi.
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 months later...
  • 9 months later...
  • 4 months later...
On 9/30/2016 at 1:22 PM, jviademonte said:

Hola Gente,

A quien interese, yo tuve este mismo problema. "Can not call the API, status code 0". 

En mi caso vi que el primer error en el stack se refería al archivo "MPRestCli.php". Luego de ahí saltaban los errores en mercadopago.php. 

Me puse a verlo un poco y el error ocurre al hacer la primera petición a la API a través de curl. Teniendo el módulo de curl instalado en mi php me pregunté si no sería un tema de certificados... y ahí estaba la madre del borrego.

La solución:

ir a: https://curl.haxx.se/docs/caextract.html y bajarse en el link el "cacert.pem" ( o sea guardar el certificado que aparece en pantalla como cacert.pem).

Una vez hecho esto, subirlo a una carpeta en el servidor y copiar el path absoluto del archivo. Si no lo saben, pueden usar este script que pongo a continuación, grabarlo como findpath.php, subirlo al lugar del archivo y correrlo desde un browser. (Después borrenlo por las dudas)

 

<?php
echo __FILE__;
?>
 
Con eso van a obtener la ruta absoluta del archivo, y le agregan 'cacert.pem' al final, claro está.
Luego editan el php.ini (si no lo pueden hacer porque el hosting no lo habilita, se lo piden a soporte y ellos lo harán, si no lo hacen, cambien de hosting. O maldigan su suerte y martíllense los dedos de los pies.). La edición a hacer es casi en el final del archivo, donde aparece el curl.
 
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
; curl.cainfo =
 
Hay que quitar el ; en "curl.cainfo =" y completar con el path absolut que teníamos copiado en el paso anterior.
Tiene que quedar algo como:
 
curl.cainfo = D:\home\midominio.com\wwwroot\cert\cacert.pem 
 
Después de eso, hagan refresh en el admin de presta. No es necesario desinstalar el módulo de mercadopago ni nada por el estilo.
Y van a poder configurar el módulo sin el MALDITO ERROR.
 
Saludos y espero que les sirva.
Javi.

Excelente explicación

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...