Mercadoenvios dejo de Funcionar
-
El plugin hasta hace un tiempo funcionaba bastante bien, lamentablemente ya no ofrece envios por mercadoenvios, lo que lo hace casi obsoleto para el uso, ya que muchas ventas necesitan envios, lo que fuerza a hacer botones de pago que tengan envio haciendo el proceso de generarlo mucho mas lento y casi inutil el mantener el plugin activo, espero que lo arreglen en la proxima version, lo voy a mantener un tiempo hasta que encuentre otra alternativa mas funcional
-
@carlamannino sos una Genia, estuve meses probando opciones, edite el código como mencionas en uno de tus otros comentarios y después de editar y actualizar el client ID y Client Secret, se ve que lo tomo, otra cosa si estan editando y actualizando usen el modo incógnito o borren las cookies para actualizar y ver reflejados los cambios, tengo que revisarlo ya que lo probé en una pagina de pruebas con la Versión 3.0.17 que mencionaron desde mercadopago en otro comentario, pero esto es muy prometedor, muestra el precio de envío y lo suma como antes.
para los que no les funciona, copia de seguridad ante todo de base de datos y archivo a editar si es el caso, revisar lo que mencione arriba, el Client ID y secret, si no se actualiza por las cookies, etc. Conclusión:Tenes que buscar el archivo (abstract-wc-mercadoenvios-shipping.php) desde el ftp o el hosting ruta: wp-content/plugins/woocommerce-mercadopago/includes/shipment/abstract-wc-mercadoenvios-shipping.php
y comentar (se comenta agregando // delante del código) las líneas 184-185-220 en mi caso, varia en cada versión dond esta ubicado:
if ($shipping_method_id == $shipping[‘shipping_method_id’]) {
y 220 que cierra (comenta // ) el if con una }
El fragmento te tiene que quedar algo así:
foreach ( $response[‘response’][‘options’] as $shipping ) {
// if ( $shipping_method_id == $shipping[‘shipping_method_id’] ) {
// $label_free_shipping = ”;
if ( $this->get_option( ‘free_shipping’ ) == ‘yes’ || $shipping[‘cost’] == 0 ) {
$label_free_shipping = __( ‘Free Shipping’, ‘woocommerce-mercadopago’ );
}
$label_delivery_time = ”;
if ( $this->get_option( ‘show_delivery_time’ ) == ‘yes’ ) {
$days = $shipping[‘estimated_delivery_time’][‘shipping’] / 24;
if ( $days <= 1 ) {
$label_delivery_time = $days . ‘ ‘ . __( ‘Day’, ‘woocommerce-mercadopago’ );
} else {
$label_delivery_time = $days . ‘ ‘ . __( ‘Days’, ‘woocommerce-mercadopago’ );
}
}
$separator = ”;
if ( $label_free_shipping != ” && $label_delivery_time != ” ) {
$separator = ‘ – ‘;
}
$label_info = ”;
if ( $label_free_shipping != ” || $label_delivery_time ) {
$label_info = ‘ (‘ . $label_delivery_time . $separator . $label_free_shipping . ‘)’;
}
$option = array(
‘label’ => ‘Mercado Envios – ‘ . $shipping[‘name’] . $label_info,
‘package’ => $package,
‘cost’ => (float) $shipping[‘cost’],
‘meta_data’ => array(
‘dimensions’ => $params[‘dimensions’],
‘shipping_method_id’ => $shipping_method_id,
‘free_shipping’ => $this->get_option( ‘free_shipping’ )
)
);$this->write_log( __FUNCTION__, ‘optiond added: ‘ . json_encode( $option, JSON_PRETTY_PRINT ) );
$this->add_rate( $option );
// }
}
}/**
* Replace comma by dot.El problema viene porque tienen mal definido el id que corresponde a los CPs de CABA y Buenos Aires.
busquen en su instalación no es copiar y pegar porque pueden romper algo y lo mas probable diga que entren en modo depuración, eso es todo, me tome el atrevimiento de tomar tus comentarios y poner mi fragmento de código y alguna aclaración APB, muchas gracias @carlamannino por compartir la solución, espero que les sirva a mas de uno de nosotros, trate de ser lo mas claro posible para los mas principiantes que no saben como editar (usando editores como el sublime text) pero nada copia de seguridad ante todo y a aprender, saludos.
Buenas noches y si a alguien le funciona también, por favor mencionar con que versión lo están corriendo, voy a probar con otra mas actual como la que menciona @carlamannino la versión 4.0.8 o una un poco mas actual, ya que las ultimas dudo que funcione, saludos y éxitos.
@carlamannino baje la versión que compartiste e instale, configure como test y como activo y no me permite cargar el envío, me dice que no se encuentra método de envío… Alguien que haya podido o tenga idea por que puede ser?
Lo puse como método único para toda argentina ( Si agrego para retirar por local si me aparece esa opción )
@alterdesign como menciono en los mensajes anteriores a mi me funciono la versión 3.0.17, la podes buscar en el repositorio de github de mercadopago. Ahi están todas las versiones creo. Pero dependiendo la version algunas ya no traen mercadoenvios, éxitos… También tené en cuenta limpiar la caché y demás cosas. Por ejemplo en un sub dominio no me funciono, en un dominio principal y en una instalación en carpeta de dominio si… Al menos ya me arroja los costos de envío. Todos con ssl por mas que suene obvio.
Alguien sabe si la version 4.0.8 de MP es compatible con WooCommerce 4.x y php 4.6.x ? Gracias!
@ruetem la versión de mercadopago con mercadoenvíos que al día de hoy marzo 2021 parece estar funcionando al menos para mi editando el código por supuesto como mencionamos, es la Versión versión_3.0.17. La cual deje bloqueada con un mu-plugin personalizado para evitar posibles actualizaciones por error. La versión de woocommerce que utilizo es la Versión 5.0.0, voy a probar en otro sitio de pruebas en algún momento como funciona con la ultima actualización, saludos y éxitos.
@demiang yo no edite el código, pero jamás la actualice desde la 3.0.17 y me funciona muy bien. La verdad es que no quise migrar a otra empresa de logística porque me resulta comodo MercadoEnvios, aunque suele haber algún que otro problema.
Recientemente actualice WooCommerce a la ultima version y no he tenido problemas.Hola! estoy dise?ando el sitio de un cliente y acaba de recordar que quiere tener mercado envíos y no está funcionando, el lo tiene habilitado en su cuenta pero la web no me permite levantarlo, alguno encontró alguna solución?
Gracias!
@ruetem me alegro que te este funcionando con la ultima versión 3.0.17 de woocommerce, en mi caso si había actualizado a varias versiones y no volvió a funcionar por lo de tocar el codigo funciono supongo, te aconsejo que bloquees la actualización automática desde un mu-plugin o desde el functions, para evitar actualizaciones por error que aunque no creas a veces pasa…, no creo que vayan a corregir o agregar a corto plazo una actualización con mercadoenvios, así que habrá que ver hasta donde podemos mantener la versión 3.0.17 sin que se rompa algo en los sitios, saludos y éxitos.
- This reply was modified 3 years, 7 months ago by demiang.
@avantiprodu te aconsejo descargar como menciono en comentarios anteriores la versión_3.0.17 desde el repositorio también mencionado en mis comentarios que es el oficial para tu tranquilidad y seguir los pasos para editarlo en las lineas mencionadas, que pueden cambiar un poco la linea donde están, seguí los consejos de los comentarios anteriores y muchos éxitos. si te funciono coméntame que versión de woocommerce usas así se mas de otros como les fue… cualquier aporte suma
Gracias @demiang, estaba intentando probar con una versión un poco más actual, pero si veo que no funciona voy a ir a la 3.0.17 y cambiar tema código, cualquier información adicional que pueda ir aportando, les escribo por este medio.
Muchas gracias!Lo probé con la versión 4.0.8 que es el último que tenía el tema mercado envíos, según decía, y no funcionó.
Pero en la versión 3.0.17, con el cambio de código, logré hacerlo funcionar, al menos la parte del cálculo.Gracias @demiang por la ayuda! Tu comentario con el detalle del código funciona a la perfección.
- This reply was modified 3 years, 6 months ago by avantiprodu.
- This reply was modified 3 years, 6 months ago by avantiprodu.
@avantiprodu gracias a vos por tu comentario, me alegra que te sirva, una cosa a tener en cuenta es que mercadoenvios solo va a funcionar en cuentas que todavía dispongan de la función, las cuentas nuevas de mercadopago no traen por defecto mercadoenvios, lo descubrí con un cliente hace poco, así que esta solución solo funcionara si por ejemplo en tu app de mercadopago podes hacer enlaces de pago con envíos, es una forma rápida de saber si tenes envíos en la cuenta. Saludos y espero que le sirva a mas personas.
Pd: Todavía no entiendo como no lo volvieron a implementar por defecto en los plugins en estas épocas tan necesario.
Cómo no actualizarte, habíamos quedado que te contábamos cómo nos iba, todo suma para poder ir resolviendo estas cuestiones @demiang ??
Sí, tenemos en cuenta que deben tenerlo de antes, solo las cuentas que lo tenían habilitado del comienzo lo pueden utilizar, al menos dentro de ML; pero las nuevas cuentas no. Fue la primera charla que tuvimos con el cliente, antes de ponernos a analizar todo esto. Pero si, nadie entiende como no lo implementaron de nuevo. Es un plugin que tiene mucho por mejorar, pero por suerte esta el foro unido, intentando arreglar lo que vamos necesitando y tiramos juntos para el mismo lado, eso es clave y ayuda un montón.
De verdad, nos salvaste de un montón de problemas, por lo que, nuevamente, muchísimas gracias! Quedamos en contacto por cualquier cosa!
Jesi de Avanti! Producciones
- The topic ‘Mercadoenvios dejo de Funcionar’ is closed to new replies.