mercadopago / DEPRECATED-sdk-php

DEPRECATED - MercadoPago PHP SDK
MIT License
1 stars 10 forks source link

Error al crear una preferencia de Pago #124

Open nicoworq opened 6 years ago

nicoworq commented 6 years ago

Buenas tardes !

Tengo implementado el sdk en una aplicación realizada en Laravel. Todo venia bien hasta que hoy recibí una excepción.

Copio el error :

MercadoPagoException: Oops! Something went wrong...

Se disparó al crear la preferencia:

$preference = $mp->create_preference($preference_data);

Como puedo debuguear un mensaje de error que dice "Oops " y no brinda ninguna información extra?

juanjoserodrigolazaro commented 6 years ago

Hola!

yo tengo el mismo problema, solo que ni siquiera me muestra un mensaje de error, pero printieando linea a linea me di cuenta que en esa misma linea surgia el error!

matiasbeltramone commented 6 years ago

Realicen un try catch cuando crean esa preferencia, y capturen con el logger de laravel el mensaje, después en la carpeta storage buscan el log respectivo y leen el mensaje de error que tira MP.

Por otro lado seguramente alguno de los parametros que le pasan debe tener un formato no aceptado por la API o les falta algun dato de la preferencia. Les recomiendo que miren en la documentación y manden los datos minimos requeridos, asi pueden ir viendo en cuál atributo les falla.

Saludos!

edgargrs commented 6 years ago

Que versión de laravel tienes? Yo tengo el mismo problema, implementé el checkout básico en Laravel 5.2 Todo venia bien con la implementación hasta hace unos dias, la misma linea que te da el error ocurrio con mi implementación. $preference = $mp->create_preference($preference_data);, me manda el mismo mensaje de error. Si tienes laravel 5 o superior puedes imprimir el error en un archivo Log. Para hacerlo necesitas ejecutar esta línea. Log::error($preference); Se te basas en la configuración de laravel puedes ver lo que imprimes en la la carpeta de storege/logs/laravel.log

Algo curioso que noté esque cuando implemento el mismo código dentro de mi localhost, haciendo las peticiones desde mi máquina, y no desde el servidor en la web, la preferencia se crea perfectamente y me retorna lu url init_point requerida para el pago.

Lo que puedo obtener del error en el archivo log en el servidor es el siguiente: `production.ERROR: exception 'MercadoPagoException' with message 'Failed to connect to api.mercadopago.com port 443: Connection refused' in /home/appcavac/maincava/vendor/mercadopago/sdk/lib/mercadopago.php:508 Stack trace:

0 /home/appcavac/maincava/vendor/mercadopago/sdk/lib/mercadopago.php(557): MPRestClient::exec(Array)

1 /home/appcavac/maincava/vendor/mercadopago/sdk/lib/mercadopago.php(67): MPRestClient::post(Array)

2 /home/appcavac/maincava/vendor/mercadopago/sdk/lib/mercadopago.php(210): MP->get_access_token()

3 /home/appcavac/maincava/app/Http/Controllers/ApiController.php(963): MP->create_preference(Array)`

Y cuando realizo la misma acción pero en mi localhost, la preferncia se crea perfectamenta.

Tu servidor cuenta con ssl? Puede que en tu caso sea que tengas que contratarlo.

Por otro lado en estos dias la comunidad de mercado pago ha anunciado algunos cambios, como los requerimientos para que las conexiones a los dominios https://api.mercadopago.com y https://pagamento.mercadopago.com sean a través del protocolo de cifrado TLS 1.1 o superior. Nose si esto influya en la conexión actual que tenemos con mercado pago.

Si encuentras alguna forma de solucionarlo por favor comparte.

Saludos :vulcan_salute:

lsfiege commented 6 years ago

Por curiosidad, estás usando este sdk de php o el del nuevo repositorio dx-php?

edgargrs commented 6 years ago

@lsfiege que tal? Estaba usando esta version del sdk, aun no me percataba del nuevo repositorio, aun hace falta mas documentación. Gracias por el comentario. Acabo de implementar el nuevo repositorio en mi hosting y sigue pasando exactamente lo mismo, en localhost me permite acceder el checkout y pagar los productos, y cuando lo implemento en el hosting me sigue denegando el acceso :cry: Puedes checar el error en el nuevo repositorio https://github.com/mercadopago/dx-php/issues/70 Saludos :raised_hand_with_fingers_splayed: