Active
Project:
Mercado Pago Payment
Version:
7.x-2.3-beta1
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
10 Nov 2015 at 03:28 UTC
Updated:
10 Nov 2015 at 19:53 UTC
Jump to comment: Most recent
Comments
Comment #2
jrviorato commentedHola,
Me podrías dar más información de cuándo ocurre esto. ¿Es cuando llega la notificación de mercado pago?
No me había encontrado con el caso en que fallara la conexión con el API, ¿esto te ocurre con frecuencia?
Por otro lado, no sería fácil poner la orden en pendiente si no se logra la comunicación con la API, es que precisamente la información para saber a qué orden se refiere la noticación no llega con la notificación de la API sólo llega un ID de transacción que fue creado por Mercado Pago, luego es necesario conectarse a la API para pedir más información sobre dicha transacción y así obtener de qué orden se trata.
Si hubo una falla de conexión, lo que podemos hacer es notificar a la API sobre que no pudimos procesar su notificación y que intente más tarde. La api intentará de nuevo unos minutos después.
Veré en los próximos días qué se puede hacer, aunque antes de hacer algo me gustaría saber qué tan frecuente y molesta es la falla de conexión.
P.D. Sobre mercadopago.php, sí, no depende de mi. Este módulo (Mercado pago for drupal commerece) es una programación independiente que hice, no trabajo ni conzco a la gente de MercadoPago. En especial, no conozco al programador de mercadopago.php (el SDK de mercadopago para PHP).
Comment #3
ropic commentedHola Jesús,
Efectivamente es al estar esperando la respuesta de la api de mercadopago, es decir luego de recibir la notificación, concretamente en:
$payment_info = $mp->get_payment_info('' . $ipn["id"]);Y en efecto encontré hace unas horas que no tenemos posibilidad de conocer el número de orden para guardar la transacción al recibir la notificación, solo que registraramos la transacción antes de enviar al usuario a mercado pago con un estado "temporal" y se reutilice al poder conectarnos para confirmar.
Comment #4
jrviorato commentedLa idea creo que funcionaría, lamentablemente creo que requerirá un tiempo largo de programación, ya que implicaría varios cambios en la programación actual, según entiendo habría que hacer lo siguiente:
Pero no imagino qué tan importante es realizar estos cambios, y revisando otros módulo de pago como el de PayPal, no veo que se tomaran la molestia en programar algo así (también requieren hacer una llamada al API de PayPal).
Tal vez una solución más simple, que seguramente no cumplirá con todas las necesidades es lo siguiente:
Con esto, el usuario sentirá únicamente que tardó en confirmarse su pago, pero esperemos que esto sea poco usual.
¿Con qué frecuencia te ocurre el problema que mencionas?¿Y qué tanto tiempo se queda colgado el servidor?
Comment #5
ropic commentedEntiendo perfectamente lo del tiempo requerido, te quise dar la sugerencia por si en el futuro aplica como mejora.
No lo se, truena a los 30segs la petición por mi configuración en el servidor lo malo es que ante esta circunstancia no se reporta nada.
Ayer estuve haciendo pruebas de mi sistema usando el modo sandbox y comenzó a ocurrirme por la noche.