Title: Bug en Ticket
Last modified: November 20, 2020

---

# Bug en Ticket

 *  [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/)
 * (@leonardorodriguez)
 * [5 years, 5 months ago](https://wordpress.org/support/topic/bug-en-ticket/)
 * Hay un bug con el cálculo de días para vencimiento de ticket
 * No se si es porque sigue con problemas para guardar/leer las opciones (ya vamos
   para el año, no?) o por algún otro motivo
 * El punto es que entra venta con ticket y a los pocos minutos se cancela con “
   El pedido sin pagar ha sido cancelado – se ha alcanzado el limite de tiempo”
 * Solución temporal:
    ./includes/modules/preferences/Wc_Woo_Mercadopago_PreferenceTicket.
   php
 *     ```
           public function get_date_of_expiration(WC_WooMercadoPago_TicketGateway $payment = null)
           {
       		/*
               $date_expiration = !is_null($payment)
                   ? $payment->getOption('date_expiration')
                   : $this->get_option('date_expiration', '');
   
               if($date_expiration != ""){
                   return date('Y-m-d\TH:i:s.000O', strtotime('+' . $date_expiration . ' days'));
               }
       		*/
       		return date('Y-m-d\TH:i:s.000O', strtotime('+14 days'));
           }
       ```
   
 * Donde +14 (o el número que pongas) son los días que das hasta vencimiento
 * Favor de resolver
 * NOTA:
    Y por las dudas, en ./includes/notification/WC_WooMercadoPago_Notification_Abstract.
   php
 * Cambiar a esto:
 *     ```
           public static function get_wc_status_for_mp_status($mp_status)
           {
               $defaults = array(
                   'pending' => 'on_hold',
                   'approved' => 'processing',
                   'inprocess' => 'on_hold',
                   'inmediation' => 'on_hold',
                   'rejected' => 'failed',
                   'cancelled' => 'on_hold',
                   'refunded' => 'refunded',
                   'chargedback' => 'refunded'
               );
               $status = $defaults[$mp_status];
               return str_replace('_', '-', $status);
           }
       ```
   
 * De esa forma, al menos, se mantiene “en espera” y no le manda mail al cliente
   para evitar llamados furiosos
    -  This topic was modified 5 years, 5 months ago by [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/).
    -  This topic was modified 5 years, 5 months ago by [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/).

Viewing 6 replies - 1 through 6 (of 6 total)

 *  Plugin Author [Mercado Pago](https://wordpress.org/support/users/mercadopago/)
 * (@mercadopago)
 * [5 years, 5 months ago](https://wordpress.org/support/topic/bug-en-ticket/#post-13718227)
 * Hola, [@leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/)
   
   Este comportamiento puede ocurrir debido a una configuración de Woocommerce. 
   Verifique la configuración del control de inventario, woocommerce tiene la opción
   de mantener el inventario (para pedidos no pagados) durante x minutos. Cuando
   se alcanza este límite, se cancelará el pedido pendiente. Siga la ruta para esta
   configuración en Woocommerce: Woocommerce> Configuración> Productos> Inventario
   > Mantener inventario (minutos)
 * Equipo Mercado Pago
 *  Thread Starter [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/)
 * (@leonardorodriguez)
 * [5 years, 5 months ago](https://wordpress.org/support/topic/bug-en-ticket/#post-13726634)
 * Exacto, lo que es un error de Mercadopago que fue avisado desde la primer V4 
   y se niegan a corregirlo
 * Corregir ese bug con:
    ./includes/notification/WC_WooMercadoPago_Notification_Abstract.
   php
 *     ```
           public static function get_wc_status_for_mp_status($mp_status)
           {
               $defaults = array(
                   'pending' => 'on_hold',
                   'approved' => 'processing',
                   'inprocess' => 'on_hold',
                   'inmediation' => 'on_hold',
                   'rejected' => 'failed',
                   'cancelled' => 'on_hold',
                   'refunded' => 'refunded',
                   'chargedback' => 'refunded'
               );
               $status = $defaults[$mp_status];
               return str_replace('_', '-', $status);
           }
       ```
   
 * De esa forma las compras entran como “en espera”. Con reserva de stock, vencimiento
   configurado en mpago, etc
 * Bah, como debe ser.
 *  Thread Starter [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/)
 * (@leonardorodriguez)
 * [5 years, 5 months ago](https://wordpress.org/support/topic/bug-en-ticket/#post-13726643)
 * Antes de que digas nada y al margen del unicornio todopoderoso: No. NO hay que
   adaptar woo a mpago. Es al revés. Mpago tiene que adaptarse a woo
 *  Thread Starter [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/)
 * (@leonardorodriguez)
 * [5 years, 5 months ago](https://wordpress.org/support/topic/bug-en-ticket/#post-13741765)
 * Como 2da opinión, el error está en reinventar la rueda. Es Woo quien se ocupa
   de bajar/subir stock, con sus opciones o sus distintos order status
 * La opción “Reducir inventario” en ticket está de más. Es woo quien ya decide 
   por default cuándo subir/bajar inventario
 * Si a eso le sumamos las dependencias de esa opción, como dejar las ventas en “
   Pendientes de pago”, o la necesidad de desactivar el vencimiento de orden desde
   woo, es un desastre en puerta
 * El gateway de pago tiene que trabajar sobre el estado de la orden. Punto, ni 
   más ni menos. Se acreditó el pago? Genial, pasar a “procesando”. No se acreditó
   el pago todavía? Genial, no tocar nada porque ya está en espera y woo se ocupa
   del resto
 * Es cuando quieren meter mano donde no corresponde, que se viene todo abajo
 *  Thread Starter [leonardorodriguez](https://wordpress.org/support/users/leonardorodriguez/)
 * (@leonardorodriguez)
 * [5 years, 4 months ago](https://wordpress.org/support/topic/bug-en-ticket/#post-13799905)
 * Esto es lo que pasa cuando mercadopago se mete donde no debe (opinar sobre stock):
 * Pago a través de Paga con tarjetas de débito y crédito
 * Mercado Pago: Pago aprobado.
    16/12/2020 a las 15:44
 * Niveles de inventario reducidos: nombreproducto (sku) 1→0
    16/12/2020 a las 15:
   44
 * El estado del pedido cambió de Pendiente de pago a Procesando.
    16/12/2020 a 
   las 15:44
 * Niveles de inventario reducidos: nombreproducto (sku) 0→-1
    16/12/2020 a las 
   15:44
 * Gracias chicos, re buen plugin 🙁
 *  [alejomdm](https://wordpress.org/support/users/alejomdm/)
 * (@alejomdm)
 * [5 years ago](https://wordpress.org/support/topic/bug-en-ticket/#post-14320126)
 * Me equivoqué de ticket para comentar

Viewing 6 replies - 1 through 6 (of 6 total)

The topic ‘Bug en Ticket’ is closed to new replies.

 * ![](https://ps.w.org/woocommerce-mercadopago/assets/icon-256x256.png?rev=3296895)
 * [Mercado Pago payments for WooCommerce](https://wordpress.org/plugins/woocommerce-mercadopago/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/woocommerce-mercadopago/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/woocommerce-mercadopago/)
 * [Active Topics](https://wordpress.org/support/plugin/woocommerce-mercadopago/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/woocommerce-mercadopago/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/woocommerce-mercadopago/reviews/)

 * 6 replies
 * 3 participants
 * Last reply from: [alejomdm](https://wordpress.org/support/users/alejomdm/)
 * Last activity: [5 years ago](https://wordpress.org/support/topic/bug-en-ticket/#post-14320126)
 * Status: not resolved