Jump to content

Recommended Posts

Me estoy volviendo loca. Al realizar pagos en paypal en mi web da errores de manera continua, aunque no siempre. El error es un 500:

 

La página xxxxxx no funciona
La página xxxxxx no puede procesar esta solicitud ahora.
HTTP ERROR 500

 

Lo primero que hice fue revisar los permisos del módulo paypal, ya que aunque no hice cambios sustanciales había leído que alguna de las actualizaciones de algún módulo estaba modificando permisos. No era el caso, están a 755 los directorios y archivos a 644. 

 

El técnico de paypal me informa de lo siguiente: 

Puedo ver en en la dirección URL de la barra de direcciones, tiene un token
de Express Checkout, por lo que al parecer, su servidor ejecutó una petición
a PayPal.
 
Según puedo ver en nuestros logs, las peticiones ejecutadas fueron
 
SetExpressCheckout
GetExpressCheckoutDetails
 
Y la que no llega a ejecutarse es la que completa el pago,
 
DoExpressCheckout.
 
Por lo que me sugiere que revise los logs del servidor, a ver qué fallo están devolviendo. Lo hago y el error es de este tipo:
El mensaje de error que está apareciendo en los logs del servidor es:
AH01071: Got error 'PHP message: PHP Fatal error: Uncaught exception 'PrestaShopException' with message 'Property Address->phone_mobile is empty' in /var/www/vhosts/xxxxxxxx/httpdocs/classes/ObjectModel.php:866\nStacktrace:\n#0 /var/www/vhosts/xxxxxxxx/httpdocs/classes/ObjectModel.php(272): ObjectModelCore->validateFields()\n#1 /var/www/vhosts/xxxxxxxx/httpdocs/classes/ObjectModel.php(480): ObjectModelCore->getFields()\n#2 /var/www/vhosts/xxxxxxxx/httpdocs/classes/Address.php(170): ObjectModelCore->add(true, false)\n#3 /var/www/vhosts/xxxxxxxx/httpdocs/classes/ObjectModel.php(442): AddressCore->add(true, false)\n#4 /var/www/vhosts/xxxxxxxx/httpdocs/modules/paypal/express_checkout/payment.php(160): ObjectModelCore->save()\n#5 /var/www/vhosts/xxxxxxxx/httpdocs/modules/paypal/express_checkout/payment.php(266): checkAndModifyAddress(Object(PaypalExpressCheckout), Object(Customer))\n#6 {main}\n thrown in /var/www/vhosts/xxxxxxxx/httpdocs/classes/ObjectModel.php on line 866\n'
 
Una vez más buscando info sobre este error me sale algo sobre un bug http://forge.prestas...browse/PNM-2050, el cual lo primero me extraña porque viene del 2014, pero describe el mismo error exacto al mío. La solución que pone uno es:

Hello! I found the problem and solution! I met the same fatal error.

So previously I only required phone_mobile as required. As I upgraded to 1.6, I made "phone" required too.

If an old customer who make a new purchase, they would meet this fatal error. Because Prestashop says the required field is "empty", there would be an error.

The way to solve this problem would be to remove the "phone" Under BO > Customer > Addresses and uncheck the box next to it.

Otherwise, it is to communicate to the customer to fill in the phone field because checking out with Paypal.

Hope this helps!

 

En mi caso no se corresponde exactamente, porque realmente yo no he hecho cambios en la ficha, y sólo tengo como obligatorio el phone_mobile. 

 

Total, que mis clientes siguen sin poder pagar, que he comprobado que los que me reportan el fallo tienen su móvil perfectamente puesto y ya no sé por dónde buscar pero ya la cosa está mal y sigo perdiendo ventas. Mil gracias anticipadas por vuestra ayuda

 

Edito para decir que uso Prestashop 1.6.0.11 y que el módulo de paypal es 3.10.10, que ya lo desinstalé y reinstalé

 

Link to comment
Share on other sites

  • 4 weeks later...

Buenas Selfie.

Justamente a mi me pasa lo mismo, con la version 1.5.4 de prestashop.

En el log de errores hosting me aparece:

31.10.2016 13:03:02 xxxxx [client 47.60.83.0] PHP Warning: include_once(/mnt/webp/d2/22/53862122/htdocsinit.php): failed to open stream: No such file or directory in /mnt/webp/d2/22/53862122/htdocs/modules/paypal/express_checkout/ajax.php on line 28, referer: http://xxxx/xxxx/43-xxxx.html?live_edit&liveToken=a7a9e411891908c63f524211f2b7bfd6&ad=admin0915&id_shop=1&id_employee=1

 

Y la respuesta de PayPal es la siguiente:

El error que adjunta no parece ser un error retornado por PayPal, si no de su propia integración o carro de la compra (o para ser más preciso, del módulo de PayPal que dicho carro de la compra usa).

 

Agradezco cualquier ayuda.

Saludos!!

Link to comment
Share on other sites

Pues yo me vuelvo loca, porque a unos les funciona perfectamente y a otros les da error continuamente. Incluso a algunos les da varios errores hasta que sin más a la quinta les permite hacer el pago. Claro, os imagináis el daño que me está haciendo, yo como comprador tampoco compraría en estas condiciones. Ya no sé donde mirar

Link to comment
Share on other sites

  • 3 weeks later...

Estoy con el mismo problema. Pensé que sería algo relacionado con el tema que uso en la web pero no...

En el Error_log de paypal aparece esto:
 

[02-Dec-2016 17:56:59 Europe/Madrid] PHP Warning:  include_once(/home/XXX/public_html/XXX/shopinit.php): failed to open stream: No such file or directory in /home/XXX/public_html/XXX/XXX/modules/paypal/express_checkout/ajax.php on line 28
 
[02-Dec-2016 17:56:59 Europe/Madrid] PHP Warning:  include_once(): Failed opening '/home/XXX/public_html/XXX/shopinit.php' for inclusion (include_path='/home/XXX/public_html/XXX/XXX/tools/htmlpurifier/standalone:.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/XXX/public_html/XXX/XXX/modules/paypal/express_checkout/ajax.php on line 28
 
Lo que no entiendo es que puñetas es ese archivo shopinit.php que no existe por ningún lado y que a demás está una carpeta por detrás de la raíz de la tienda.
 
Hablé con los de Paypal y esta fue la respuesta:
 
I run a new test and monitored with our tools, When the button is clicked PayPal is never called. It is something on the code itself, from the module. Unfortunately there is not much I can do as the code is on the module in Prestashop and PayPal is not called at all while pressing the button. You should check with Prestashop, they have forums online where you could find somebody else who had the same issue with that specific module.
 
Habrá que aceptar sólo transferencias bancarias hasta nueva orden, pero esta mierda urge!
Link to comment
Share on other sites

Yo lo he solucionado parcialmente, me salía un error de que el campo del móvil estaba vacío (aún estando rellenado) y desde Clientes --> Direcciones lo he quitado de los campos obligatorios. Días después me ha pasado con el DNI, que también he tenido que quitar. Obviamente no es una solución perfecta porque necesito el móvil para los mensajes de seguimiento y el DNI para facturar; por suerte de momento la gente lo rellena igual y sólo he tenido que pedir un móvil, pero a ver si consigo solucionarlo del todo porque aquí se lavan las manos tanto Paypal como mi proveedor web como Prestashop, un desastre. Y las ventas mientras he conseguido solucionarlo (más de un mes probando mil y una soluciones) pues a saber las que habré perdido

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...