Changeset 3711978
- Timestamp:
- 09/24/2026 08:24:12 PM (3 weeks ago)
- Location:
- inobarix-recurring-payments-for-mercado-pago
- Files:
-
- 8 edited
- 29 copied
-
tags/1.0.4/readme.txt (modified) (1 diff)
-
tags/1.0.4/src/Modules/ModuleRegistry.php (modified) (2 diffs)
-
tags/1.0.5 (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk )
-
tags/1.0.5/README.md (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/README.md )
-
tags/1.0.5/assets/css/admin.css (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/assets/css/admin.css ) (2 diffs)
-
tags/1.0.5/assets/js/admin-dashboard.js (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/assets/js/admin-dashboard.js )
-
tags/1.0.5/inobarix-recurring-payments-for-mercado-pago.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/inobarix-recurring-payments-for-mercado-pago.php ) (2 diffs)
-
tags/1.0.5/readme.txt (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/readme.txt ) (6 diffs)
-
tags/1.0.5/src/Admin/AdminMenu.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/AdminMenu.php )
-
tags/1.0.5/src/Admin/MaintenanceTools.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/MaintenanceTools.php )
-
tags/1.0.5/src/Admin/ModulesPage.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/ModulesPage.php ) (1 diff)
-
tags/1.0.5/src/Admin/ReportsPage.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/ReportsPage.php )
-
tags/1.0.5/src/Admin/SettingsPage.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/SettingsPage.php )
-
tags/1.0.5/src/Admin/StatusPage.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/StatusPage.php )
-
tags/1.0.5/src/Admin/SubscriptionsPage.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/SubscriptionsPage.php ) (3 diffs)
-
tags/1.0.5/src/Admin/SupportPage.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/SupportPage.php )
-
tags/1.0.5/src/Core/Activator.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Core/Activator.php )
-
tags/1.0.5/src/Core/Plugin.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Core/Plugin.php )
-
tags/1.0.5/src/Cron/Synchronizer.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Cron/Synchronizer.php )
-
tags/1.0.5/src/Database/Migrator.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Database/Migrator.php )
-
tags/1.0.5/src/Diagnostics/EventLogger.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Diagnostics/EventLogger.php )
-
tags/1.0.5/src/Emails/WooEmailsController.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Emails/WooEmailsController.php )
-
tags/1.0.5/src/Gateways/BasicGateway.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Gateways/BasicGateway.php )
-
tags/1.0.5/src/MercadoPago/CredentialsResolver.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/MercadoPago/CredentialsResolver.php )
-
tags/1.0.5/src/MercadoPago/MercadoPagoClient.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/MercadoPago/MercadoPagoClient.php )
-
tags/1.0.5/src/Modules/ModuleRegistry.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Modules/ModuleRegistry.php ) (7 diffs)
-
tags/1.0.5/src/Subscriptions/AccountSubscriptions.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Subscriptions/AccountSubscriptions.php )
-
tags/1.0.5/src/Subscriptions/AdvancedBilling.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Subscriptions/AdvancedBilling.php )
-
tags/1.0.5/src/Subscriptions/ProductSettings.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Subscriptions/ProductSettings.php )
-
tags/1.0.5/src/Subscriptions/SubscriptionManager.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/src/Subscriptions/SubscriptionManager.php )
-
tags/1.0.5/uninstall.php (copied) (copied from inobarix-recurring-payments-for-mercado-pago/trunk/uninstall.php )
-
trunk/assets/css/admin.css (modified) (2 diffs)
-
trunk/inobarix-recurring-payments-for-mercado-pago.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (6 diffs)
-
trunk/src/Admin/ModulesPage.php (modified) (1 diff)
-
trunk/src/Admin/SubscriptionsPage.php (modified) (3 diffs)
-
trunk/src/Modules/ModuleRegistry.php (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
inobarix-recurring-payments-for-mercado-pago/tags/1.0.4/readme.txt
r3711426 r3711978 113 113 * Reduce conexiones externas innecesarias y mejora la estabilidad administrativa con versiones actuales de WordPress y WooCommerce. 114 114 * El core ya no informa datos tecnicos ni inventario de la instalacion al servidor de Inobarix. 115 * Incorpora Recordatorios de Pago al catalogo de extensiones del ecosistema. 115 116 116 117 = 1.0.3 = -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.4/src/Modules/ModuleRegistry.php
r3711426 r3711978 52 52 $usd_pricing_plugin = 'inobarix-usd-pricing-addon/inobarix-usd-pricing-addon.php'; 53 53 $restricted_content_plugin = 'inobarix-restricted-content-addon/inobarix-restricted-content-addon.php'; 54 $payment_reminders_plugin = 'inobarix-payment-reminders-addon/inobarix-payment-reminders-addon.php'; 54 55 $store_url = trailingslashit( (string) apply_filters( 'inobarix_store_url', 'https://inobarix.com.ar' ) ); 55 56 $catalog = self::remote_catalog(); … … 162 163 'url' => self::catalog_field( $catalog, 'restricted_content', 'buy_url', $store_url ), 163 164 'images' => self::catalog_images( $catalog, 'restricted_content' ), 165 ), 166 'payment_reminders' => array( 167 'name' => __( 'Recordatorios de pago', 'inobarix-recurring-payments-for-mercado-pago' ), 168 'description' => __( 'Recupera pedidos pendientes y fallidos con un recordatorio y enlace seguro de pago.', 'inobarix-recurring-payments-for-mercado-pago' ), 169 'category' => __( 'Ventas', 'inobarix-recurring-payments-for-mercado-pago' ), 170 'status' => self::plugin_active_status( $payment_reminders_plugin ), 171 'plugin' => $payment_reminders_plugin, 172 'license_required' => true, 173 'license_product' => 'payment_reminders', 174 'price' => self::catalog_field( $catalog, 'payment_reminders', 'price', __( 'Consultar precio', 'inobarix-recurring-payments-for-mercado-pago' ) ), 175 'url' => self::catalog_field( $catalog, 'payment_reminders', 'buy_url', $store_url ), 176 'images' => self::catalog_images( $catalog, 'payment_reminders' ), 164 177 ), 165 178 'content_restriction' => array( -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.5/assets/css/admin.css
r3709773 r3711978 102 102 body.ibx-ecosystem-admin #adminmenu #toplevel_page_inobarix .wp-submenu li.current a { color: #72a9ff; } 103 103 body.ibx-ecosystem-admin .ibx-license-client > p { max-width: 78ch; color: var(--ibx-admin-muted); line-height: 1.55; } 104 body.ibx-ecosystem-admin .ibx-license-client > div[style*="display:grid"] { max-width: 100% !important; } 105 body.ibx-ecosystem-admin .ibx-license-client > div[style*="display:grid"] > div { border-color: var(--ibx-admin-line) !important; border-radius: 5px !important; box-shadow: none; } 106 body.ibx-ecosystem-admin .ibx-license-client > div[style*="display:grid"] > div h2 { color: var(--ibx-admin-ink); font-size: 18px; line-height: 1.3; } 104 body.ibx-ecosystem-admin .ibx-license-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 16px; width: 100%; max-width: 1480px; } 105 body.ibx-ecosystem-admin .ibx-license-card { min-width: 0; padding: 18px; background: #fff; border: 1px solid var(--ibx-admin-line); border-radius: 5px; box-shadow: none; } 106 body.ibx-ecosystem-admin .ibx-license-card h2 { margin-top: 0; color: var(--ibx-admin-ink); font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; } 107 body.ibx-ecosystem-admin .ibx-license-card form { max-width: 100%; } 108 body.ibx-ecosystem-admin .ibx-license-card input.regular-text { box-sizing: border-box; width: 100%; max-width: 100%; } 109 body.ibx-ecosystem-admin .ibx-license-card .button { max-width: 100%; white-space: normal; } 107 110 body.ibx-ecosystem-admin .ibx-license-client table.widefat { max-width: 100% !important; } 108 111 body.ibx-ecosystem-admin.post-type-ibox_price_table .wrap .wp-heading-inline { color: var(--ibx-admin-ink); font-size: 27px; font-weight: 650; } … … 263 266 } 264 267 268 .ibx-settings-content:only-child { 269 grid-column: 1 / -1; 270 } 271 265 272 .ibx-settings-content > .card, 266 273 .ibx-settings-content > form > .card { -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.5/inobarix-recurring-payments-for-mercado-pago.php
r3711426 r3711978 3 3 * Plugin Name: Suscripciones y Pagos Recurrentes con Mercado Pago para WooCommerce 4 4 * Description: Crea suscripciones, pagos recurrentes, membresías y cobros automáticos con Mercado Pago en WooCommerce. 5 * Version: 1.0. 45 * Version: 1.0.5 6 6 * Author: Inobarix 7 7 * Author URI: https://inobarix.com.ar … … 49 49 50 50 define( 'INOBREPA_LOADED', true ); 51 define( 'INOBREPA_VERSION', '1.0. 4' );51 define( 'INOBREPA_VERSION', '1.0.5' ); 52 52 define( 'INOBREPA_FILE', __FILE__ ); 53 53 define( 'INOBREPA_PATH', plugin_dir_path( __FILE__ ) ); -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.5/readme.txt
r3711426 r3711978 6 6 Requires PHP: 7.4 7 7 Requires Plugins: woocommerce 8 Stable tag: 1.0. 48 Stable tag: 1.0.5 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 31 31 * Sincronización manual y programada de suscripciones y pagos autorizados. 32 32 * Vista para clientes en Mi cuenta de WooCommerce con historial de pagos y estado de reintentos. 33 * Gestión administrativa de suscripciones con detalle, sincronización , cancelación y diagnósticos.34 * Reportes básicos con gráficos de cobros, ingresos y altas, estados de suscripción y totales por moneda.33 * Gestión administrativa de suscripciones con detalle, sincronización y cancelación. 34 * Reportes básicos con gráficos, estados de suscripción y totales por moneda. 35 35 * Compatibilidad declarada con WooCommerce HPOS y Checkout Blocks. 36 36 * Una sección de soporte con acceso a consultas y documentación. … … 46 46 * **Organizaciones:** gestión de miembros, aprobaciones y credenciales digitales. 47 47 * **Precios en USD:** precios base en dólares con actualización de importes en pesos. 48 * **Contenido restringido:** acceso a páginas y entradas por cuenta o plan pagado, con verificación de correo y aprobación opcionales. 48 * **Contenido restringido:** acceso a páginas y entradas por cuenta o plan pagado. 49 * **Recordatorios de pago:** recuperación de pedidos pendientes y carritos abandonados. 49 50 50 51 Consulta las extensiones desde **Inobarix > Extensiones** en tu sitio o visita [Inobarix](https://inobarix.com.ar/). … … 58 59 == External services == 59 60 60 Este plugin se conecta a la API de Mercado Pago en https://api.mercadopago.com . Mercado Pago se utiliza para crear preferencias de Checkout Pro, crear y administrar preapprovals/suscripciones, consultar pagos y pagos autorizados, y sincronizar estados de suscripción o pago después de webhooks, sincronizaciones manuales o tareas programadas.61 Este plugin se conecta a la API de Mercado Pago en https://api.mercadopago.com para crear y administrar pagos y suscripciones, consultar estados y procesar notificaciones. 61 62 62 Los datos enviados a Mercado Pago pueden incluir ID del pedido de WooCommerce, importe del pedido, moneda, nombre del producto, email de facturación del cliente, URLs de retorno, URL segura de notificación/webhook generada por el plugin, importe de la suscripción, frecuencia de cobro e identificadores de suscripción o pagode Mercado Pago.63 Los datos enviados pueden incluir ID del pedido, importe, moneda, nombre del producto, email de facturación, URLs de retorno y notificación, frecuencia de cobro e identificadores de Mercado Pago. 63 64 64 Estos datos se envían cuando el cliente inicia el checkout, autoriza una suscripción, cuando el administrador sincroniza una suscripción, cuando se ejecuta una sincronización programada o cuando Mercado Pago envía un webhook. 65 66 Enlaces del servicio Mercado Pago: 65 Estos datos se envían al iniciar el checkout, autorizar una suscripción, ejecutar una sincronización o procesar un webhook. 67 66 68 67 * Términos: https://www.mercadopago.com.ar/ayuda/terminos-y-condiciones-uso_299 … … 82 81 3. Vaya a Inobarix > Inicio para revisar el checklist de configuración. 83 82 4. Abra Inobarix > Ajustes y configure las credenciales de Mercado Pago. 84 5. Cree o edite un producto simple de WooCommerce y active la opción de pago recurrente. 85 6. Venda el producto. El plugin envía automáticamente a Mercado Pago la URL segura para recibir notificaciones. 83 5. Cree o edite un producto simple y active la opción de pago recurrente. 86 84 87 85 == Frequently Asked Questions == … … 89 87 = ¿El plugin requiere WooCommerce Subscriptions? = 90 88 91 No. El plugin guarda sus propios registros de suscripcióny utiliza las APIs de suscripciones de Mercado Pago.89 No. El plugin guarda sus propios registros y utiliza las APIs de suscripciones de Mercado Pago. 92 90 93 91 = ¿El plugin guarda datos de tarjeta? = 94 92 95 No. Los clientes autorizan la suscripción en Mercado Pago. WordPress recibe estados de suscripción y pago mediante API y webhooks.93 No. Los clientes autorizan la suscripción en Mercado Pago. 96 94 97 95 = ¿Los clientes pueden ver sus suscripciones? = 98 96 99 Sí. Un endpoint de Mi cuenta muestra suscripciones actuales y anteriores, pedidos vinculados, estado de pago, reintentos e historial de pagos.97 Sí. Mi cuenta muestra suscripciones, pedidos vinculados, estados e historial de pagos. 100 98 101 99 = ¿Los administradores pueden sincronizar suscripciones manualmente? = 102 100 103 Sí. Los administradores pueden sincronizar suscripciones desde Inobarix > Suscripciones. El plugin también programa una tarea cron de WordPress. 104 105 = ¿Qué muestran los reportes del core? = 106 107 En Inobarix > Reportes puedes consultar los últimos 7, 30 o 90 días de suscripciones nuevas, cobros recurrentes e ingresos aprobados registrados localmente. Los gráficos muestran tendencias; los importes se separan por moneda y el detalle lista los 12 movimientos más recientes del período. Los registros anteriores permanecen en la base. Este resumen no sustituye la conciliación contable de Mercado Pago. 101 Sí. También existe una sincronización programada. 108 102 109 103 == Changelog == 110 104 105 = 1.0.5 = 106 * Mejora el panel administrativo con reportes gráficos, estados de suscripción y actividad reciente. 107 * Unifica el diseño del core y las extensiones, incluidas licencias, formularios y soporte. 108 * Actualiza el catálogo con imágenes, precios, nuevos addons y pruebas configuradas por producto. 109 * Refuerza la privacidad eliminando la telemetría y reduce conexiones externas innecesarias. 110 * Mejora la compatibilidad con WordPress, WooCommerce, HPOS y Checkout Blocks. 111 111 112 = 1.0.4 = 112 * Elimina la telemetria del core gratuito para reforzar la privacidad, la seguridad y la confianza en el medio de pago. 113 * Reduce conexiones externas innecesarias y mejora la estabilidad administrativa con versiones actuales de WordPress y WooCommerce. 114 * El core ya no informa datos tecnicos ni inventario de la instalacion al servidor de Inobarix. 115 116 = 1.0.3 = 117 * Muestra y rota las imagenes reales de las extensiones publicadas en la tienda. 118 * Agrega ampliacion de imagenes y mejora la jerarquia visual del titulo, precio y llamados a la accion. 119 * Simplifica el inicio eliminando los bloques redundantes de revision y proximos cobros. 120 * Agrega las cinco suscripciones mas recientes al inicio del plugin. 121 * Incorpora una extension publica destacada que rota automaticamente y prioriza modulos aun no activados. 122 123 = 1.0.2 = 124 * Agrega en Inicio listas de suscripciones que requieren revision y proximos cobros. 125 * Generaliza el flujo de dos pasos de Cobros avanzados para altas, accesos, servicios y entregas fisicas. 126 127 = 1.0.1 = 128 * Rediseña Reportes con graficos de ingresos por moneda, actividad de cobros, altas y estados. 129 * Agrega metricas de aprobacion y suscripciones activas, y mejora las consultas por fecha con indices. 130 * Agrega reportes basicos de suscripciones y cobros recurrentes registrados en el sitio. 131 * Permite consultar periodos de 7, 30 y 90 dias, totales por moneda y movimientos recientes. 132 * Actualiza el catalogo de extensiones con mas frecuencia para mostrar nuevos productos y precios. 133 * Agrega una accion independiente para actualizar el catalogo comercial sin buscar actualizaciones de plugins. 134 * Agrega Contenido restringido al catalogo de extensiones del ecosistema. 135 * Aplica el diseno compartido a tipos de contenido registrados debajo de Inobarix, incluidos los listados y editores de tablas de membresias. 136 * Mejora la presentacion de licencias y del menu de administracion del ecosistema. 137 * Aclara que el selector de medios solo afecta compras unicas con Checkout Pro. 138 * Quita la opcion de excluir dinero en cuenta, que Mercado Pago no permite controlar desde la preferencia. 139 * Corrige la explicacion de los medios disponibles en suscripciones. 140 * Refuerza la carga del diseno compartido en paginas de addons bajo Inobarix. 141 * Estiliza estados y tablas del gestor de licencias con la misma identidad del core. 142 * Divide Soporte en una columna de consultas y otra mas angosta para documentacion y servicios. 143 * Reduce la altura del formulario y adapta las columnas a pantallas pequenas. 144 * Alinea la identidad administrativa con los colores azul y negro de Inobarix. 145 * Define jerarquias compartidas para titulos, secciones y texto auxiliar de core y extensiones. 146 * Unifica el estilo de las pantallas del menu Inobarix, incluidos los ajustes de extensiones. 147 * Mejora los listados de suscripciones y planes con filtros ordenados, tablas adaptables y estados visuales. 148 * Unifica el estilo administrativo del core y las extensiones, incluidos Soporte, licencias y listados. 149 * Aclara los medios de pago disponibles para compras unicas y suscripciones. 150 * Organiza Inicio y un widget del Escritorio por estados de suscripcion. 151 * Agrega un widget de servicios Inobarix y una bienvenida descartable en la primera activacion. 113 * Refuerza la privacidad del medio de pago y agrega Recordatorios de Pago al ecosistema. 114 * Mejora la estabilidad administrativa y la integración con extensiones premium. 152 115 153 116 = 1.0 = 154 * Amplia Soporte con formulario de tickets, documentacion y servicios profesionales. 155 * Integra la pagina de Soporte al estilo del panel y presenta servicios Inobarix en Inicio. 156 * Renombra Modulos a Extensiones en la interfaz del core. 157 158 = 0.9.40 = 159 * Actualiza los medios de pago de Checkout Pro para reconocer tarjetas prepagas como `prepaid_card`. 160 * Migra las selecciones anteriores sin bloquear tarjetas prepagas y aclara que las suscripciones solo admiten tarjetas reutilizables compatibles. 161 162 = 0.9.33 = 163 * Corrige la redireccion de suscripciones cuando Mercado Pago agrega el parametro activation al init_point y muestra una pagina inexistente. 164 165 = 0.9.32-beta.3 = 166 * Simplifica Cobros avanzados a cobro normal, comienzo en fecha fija y flujo opcional de dos pasos. 167 * En el modo de dos pasos autoriza primero la suscripcion y luego crea una compra WooCommerce normal para la primera entrega. 168 * Agrega una guia visual recuperable en Mi cuenta y evita que el pedido inicial vuelva a crear otra suscripcion. 169 170 = 0.9.31 = 171 * Evita crear renovaciones y alterar fechas locales al sincronizar pagos ya aprobados. 172 * Detecta el mismo pago aunque llegue con otro identificador de factura. 173 174 = 0.9.30 = 175 * Corrige el próximo día fijo cuando el día elegido ya pasó en el mes actual. 176 * El modo de cuota completa usa el total real del pedido, incluido el envío. 177 * Evita mostrar dos fechas de próximo cobro y alinea la facturación mensual con Mercado Pago. 178 179 = 0.9.29 = 180 * Simplifica listados, detalles, Mi cuenta, configuracion y cobros avanzados con textos orientados al comercio. 181 * Oculta IDs, eventos y payloads tecnicos dentro de secciones plegables para soporte. 182 * Reduce columnas duplicadas y muestra frecuencias de cobro en lenguaje natural. 183 * Limpia automaticamente eventos normales de mas de 30 dias y errores de mas de 90 dias. 184 185 = 0.9.28 = 186 * Permite que los add-ons habiliten emails nativos de WooCommerce para pedidos fisicos recurrentes. 187 * Permite mantener el pedido original fisico en Procesando mientras la suscripcion sigue vinculada a el. 188 189 = 0.9.27 = 190 * Agrega el modo de cobro completo al comprar y nuevamente en la proxima fecha fija mensual. 191 * Mantiene el total normal del carrito y evita usar prorrateo o arancel para productos fisicos. 192 193 = 0.9.26 = 194 * Simplifica el inicio del plugin para priorizar suscripciones activas y casos que requieren atencion. 195 * Agrega un acceso directo a los pedidos WooCommerce para el flujo de productos fisicos. 196 * Corrige la regla responsive de las pantallas administrativas. 197 198 = 0.9.25 = 199 * Limita a dos decimales los importes de prorrateo enviados a Mercado Pago. 200 * Evita que la precision interna de PHP agregue decimales residuales al JSON de transaction_amount. 201 * Normaliza tambien el monto recurrente al restaurarlo luego del primer cobro. 202 203 = 0.9.24 = 204 * Hace mas robusta la sincronizacion programada de suscripciones con un cursor persistente por tandas. 205 * Reduce el intervalo del cron del core a 10 minutos y permite configurar el tamano del lote con un filtro. 206 * Evita que muchas suscripciones pendientes queden fuera del ciclo automatico de revision. 207 208 = 0.9.23 = 209 * Corrige el campo reason enviado a Mercado Pago para suscripciones y evita errores cuando el texto supera 40 caracteres. 210 * Agrega duración limitada por ciclos de cobro en productos de suscripción y envía end_date a Mercado Pago. 211 212 = 0.9.22 = 213 * Agrega ayuda dinámica en Cobros avanzados según el modo de cobro inicial seleccionado. 214 215 = 0.9.21 = 216 * Oculta el método de pago de suscripciones cuando el carrito no contiene productos de suscripción. 217 * Permite agregar una suscripción a un carrito con productos normales y muestra un botón para actualizar el carrito dejando solo la suscripción. 218 219 = 0.9.20 = 220 * Corrige textos con encoding roto en Cobros avanzados y documentación del core. 221 222 = 0.9.19 = 223 * Agrega sistema central de plantillas de emails editables para core y add-ons. 224 * Agrega dispatcher comun de emails con variables y compatibilidad con filtros anteriores. 225 * Agrega aviso administrativo si se detectan plugins externos de suscripciones activos sin add-on de compatibilidad. 226 * Prepara el modulo premium de Emails avanzados. 227 228 = 0.9.18 = 229 * Integra en el core la politica global de cobros avanzados para suscripciones: ventana de compra, cobro diferido, prorrateo real y arancel inicial. 230 * Mantiene el modo clasico como predeterminado para no alterar tiendas existentes. 231 * Expone la logica avanzada solo cuando un add-on premium habilita Cobros avanzados. 232 233 = 0.9.17 = 234 * Ajusta el logo de Mercado Pago en Checkout Blocks con un ancho fijo de 40 px para mantener una presentación estable. 235 236 = 0.9.16 = 237 * Agrega el logo opcional de Mercado Pago y textos predeterminados claros para suscripciones en checkout. 238 * Muestra en el carrito la fecha estimada del próximo pago recurrente. 239 240 = 0.9.15 = 241 * Cuando el carrito contiene una suscripción, muestra solo Mercado Pago Inobarix como medio de pago. 242 * Impide mezclar suscripciones con otros productos o comprar más de una suscripción por pedido. 243 244 = 0.9.14 = 245 * Registra la pasarela y su integracion con Checkout Blocks desde la carga del plugin, evitando que el orden de carga de temas o plugins deje a Mercado Pago fuera del checkout. 246 247 = 0.9.13 = 248 * Corrige el momento de carga del core para que la pasarela se registre antes de que WooCommerce Checkout Blocks resuelva los metodos de pago. 249 250 = 0.9.12 = 251 * Corrige el registro del metodo de pago en WooCommerce Checkout Blocks para que aparezca tambien cuando el checkout usa bloques. 252 253 = 0.9.11 = 254 * Reorienta el nombre, descripción y readme hacia suscripciones y pagos recurrentes con Mercado Pago para WooCommerce. 255 * Cambia el idioma base visible a español y agrega traducción en_US. 256 * Carga traducciones con load_plugin_textdomain en plugins_loaded. 257 * Muestra los módulos del roadmap como Próximamente cuando todavía no están instalados. 258 259 = 0.9.10 = 260 * Agrega URL segura de webhook automática al crear pagos y suscripciones. 261 * Simplifica los ajustes de webhooks y mejora la ayuda para conseguir credenciales de Mercado Pago. 262 263 = 0.9.9 = 264 * Envía emails cuando Mercado Pago confirma que una suscripción pausada vuelve a estar activa. 265 * Evita repetir emails de estado pausado/reactivado en cada sincronización manual o programada. 266 267 = 0.9.8 = 268 * Fuerza que el estado maestro de /preapproval prevalezca sobre pagos autorizados históricos. 269 * Sincroniza la suscripción maestra después de webhooks de payment.created y authorized payment. 270 271 = 0.9.7 = 272 * Evita que pagos aprobados históricos sobreescriban estados pausados o cancelados devueltos por Mercado Pago. 273 * Simplifica acciones de suscripciones para actualizar desde Mercado Pago solo desde el detalle o de forma masiva. 274 275 = 0.9.6 = 276 * Detecta suscripciones pausadas por Mercado Pago y permite reactivarlas manualmente desde el administrador. 277 * Envía aviso al cliente y al administrador cuando Mercado Pago pausa una suscripción. 278 * Envía un aviso único cuando Mercado Pago reprograma un cobro por reintento. 279 * Evita repetir notas de pedido para cancelaciones ya sincronizadas. 280 281 = 0.9.5 = 282 * Mueve el JavaScript de mantenimiento a un asset admin encolado. 283 * Requiere validación de firma de Mercado Pago antes de procesar webhooks. 284 * Amplía la documentación del servicio externo Mercado Pago. 285 * Renombra constantes internas con prefijo propio del plugin. 117 * Primera versión estable para crear y administrar suscripciones con Mercado Pago desde WooCommerce. 118 * Incluye sincronización, webhooks, Mi cuenta, soporte y un catálogo modular de extensiones. -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.5/src/Admin/ModulesPage.php
r3706526 r3711978 35 35 check_admin_referer( 'ibx_modules_check_updates' ); 36 36 delete_site_transient( 'inobarix_addons_catalog_v4' ); 37 delete_site_transient( 'inobarix_addons_catalog_v5' ); 38 delete_site_transient( 'inobarix_addons_catalog_v6' ); 39 delete_site_transient( 'ibx_license_trial_catalog' ); 37 40 if ( 'refresh_catalog' === $action ) { 38 41 wp_safe_redirect( add_query_arg( array( 'page' => self::SLUG, 'catalog-refreshed' => '1' ), admin_url( 'admin.php' ) ) ); -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.5/src/Admin/SubscriptionsPage.php
r3706526 r3711978 493 493 if ( $update ) { 494 494 $display_status = 'update_available'; 495 } elseif ( $active && in_array( $license_status, array( 'active', 'grace', ' stale' ), true ) ) {495 } elseif ( $active && in_array( $license_status, array( 'active', 'grace', 'trial_active', 'stale' ), true ) ) { 496 496 $display_status = 'active'; 497 497 } elseif ( $active ) { … … 499 499 } elseif ( $installed ) { 500 500 $display_status = 'inactive'; 501 } elseif ( in_array( $license_status, array( 'active', 'grace', ' stale' ), true ) ) {501 } elseif ( in_array( $license_status, array( 'active', 'grace', 'trial_active', 'stale' ), true ) ) { 502 502 $display_status = 'licensed_not_installed'; 503 503 } else { 504 504 $display_status = 'available_for_purchase'; 505 505 } 506 $show_trial_offer = 'available_for_purchase' === $display_status 507 && ! empty( $module['trial_enabled'] ) 508 && absint( $module['trial_days'] ?? 0 ) > 0; 506 509 ?> 507 510 <article class="ibx-module-card"> … … 513 516 <p><?php echo esc_html( $module['description'] ); ?></p> 514 517 <p><strong><?php echo esc_html( $module['price'] ); ?></strong></p> 518 <?php if ( $show_trial_offer ) : ?><p><strong><?php echo esc_html( sprintf( __( '%d dias gratis, sin tarjeta', 'inobarix-recurring-payments-for-mercado-pago' ), absint( $module['trial_days'] ) ) ); ?></strong></p><?php endif; ?> 515 519 <?php if ( $update ) : ?><p><strong><?php printf( esc_html__( 'Actualizacion disponible: %s', 'inobarix-recurring-payments-for-mercado-pago' ), esc_html( $update->new_version ) ); ?></strong></p><?php endif; ?> 516 520 <?php if ( ! empty( $module['license_required'] ) ) : ?> -
inobarix-recurring-payments-for-mercado-pago/tags/1.0.5/src/Modules/ModuleRegistry.php
r3709773 r3711978 52 52 $usd_pricing_plugin = 'inobarix-usd-pricing-addon/inobarix-usd-pricing-addon.php'; 53 53 $restricted_content_plugin = 'inobarix-restricted-content-addon/inobarix-restricted-content-addon.php'; 54 $payment_reminders_plugin = 'inobarix-payment-reminders-addon/inobarix-payment-reminders-addon.php'; 54 55 $store_url = trailingslashit( (string) apply_filters( 'inobarix_store_url', 'https://inobarix.com.ar' ) ); 55 56 $catalog = self::remote_catalog(); … … 162 163 'url' => self::catalog_field( $catalog, 'restricted_content', 'buy_url', $store_url ), 163 164 'images' => self::catalog_images( $catalog, 'restricted_content' ), 165 ), 166 'payment_reminders' => array( 167 'name' => __( 'Recordatorios de pago', 'inobarix-recurring-payments-for-mercado-pago' ), 168 'description' => __( 'Recupera pedidos pendientes y fallidos con un recordatorio y enlace seguro de pago.', 'inobarix-recurring-payments-for-mercado-pago' ), 169 'category' => __( 'Ventas', 'inobarix-recurring-payments-for-mercado-pago' ), 170 'status' => self::plugin_active_status( $payment_reminders_plugin ), 171 'plugin' => $payment_reminders_plugin, 172 'license_required' => true, 173 'license_product' => 'payment_reminders', 174 'price' => self::catalog_field( $catalog, 'payment_reminders', 'price', __( 'Consultar precio', 'inobarix-recurring-payments-for-mercado-pago' ) ), 175 'url' => self::catalog_field( $catalog, 'payment_reminders', 'buy_url', $store_url ), 176 'images' => self::catalog_images( $catalog, 'payment_reminders' ), 164 177 ), 165 178 'content_restriction' => array( … … 176 189 ), 177 190 ); 191 foreach ( $modules as $slug => $module ) { 192 if ( ! empty( $module['license_required'] ) && isset( $catalog[ $slug ] ) ) { 193 $modules[ $slug ]['trial_enabled'] = ! empty( $catalog[ $slug ]['trial_enabled'] ); 194 $modules[ $slug ]['trial_days'] = absint( $catalog[ $slug ]['trial_days'] ?? 0 ); 195 } 196 } 178 197 179 198 /** … … 200 219 */ 201 220 private static function remote_catalog() { 202 $cache_key = 'inobarix_addons_catalog_v 5';221 $cache_key = 'inobarix_addons_catalog_v6'; 203 222 $cached = get_site_transient( $cache_key ); 204 223 if ( is_array( $cached ) ) { … … 249 268 'description' => sanitize_text_field( (string) ( $product['description'] ?? '' ) ), 250 269 'images' => array_values( array_filter( array_map( 'esc_url_raw', is_array( $product['images'] ?? null ) ? $product['images'] : array() ) ) ), 270 'trial_enabled' => ! empty( $product['trial_enabled'] ), 271 'trial_days' => max( 0, (int) ( $product['trial_days'] ?? 0 ) ), 251 272 ); 252 273 } … … 296 317 'update_available' => __( 'Actualizacion disponible', 'inobarix-recurring-payments-for-mercado-pago' ), 297 318 'license_active' => __( 'Licencia activa', 'inobarix-recurring-payments-for-mercado-pago' ), 319 'license_trial_active' => __( 'Prueba activa', 'inobarix-recurring-payments-for-mercado-pago' ), 320 'license_trial_expired' => __( 'Prueba vencida', 'inobarix-recurring-payments-for-mercado-pago' ), 298 321 'license_missing' => __( 'Licencia requerida', 'inobarix-recurring-payments-for-mercado-pago' ), 299 322 'license_expired' => __( 'Licencia vencida', 'inobarix-recurring-payments-for-mercado-pago' ), … … 389 412 'price' => sanitize_text_field( (string) ( $module['price'] ?? '' ) ), 390 413 'images' => array_values( array_filter( array_map( 'esc_url_raw', (array) ( $module['images'] ?? array() ) ) ) ), 414 'trial_enabled' => ! empty( $module['trial_enabled'] ), 415 'trial_days' => absint( $module['trial_days'] ?? 0 ), 391 416 ); 392 417 } -
inobarix-recurring-payments-for-mercado-pago/trunk/assets/css/admin.css
r3709773 r3711978 102 102 body.ibx-ecosystem-admin #adminmenu #toplevel_page_inobarix .wp-submenu li.current a { color: #72a9ff; } 103 103 body.ibx-ecosystem-admin .ibx-license-client > p { max-width: 78ch; color: var(--ibx-admin-muted); line-height: 1.55; } 104 body.ibx-ecosystem-admin .ibx-license-client > div[style*="display:grid"] { max-width: 100% !important; } 105 body.ibx-ecosystem-admin .ibx-license-client > div[style*="display:grid"] > div { border-color: var(--ibx-admin-line) !important; border-radius: 5px !important; box-shadow: none; } 106 body.ibx-ecosystem-admin .ibx-license-client > div[style*="display:grid"] > div h2 { color: var(--ibx-admin-ink); font-size: 18px; line-height: 1.3; } 104 body.ibx-ecosystem-admin .ibx-license-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 16px; width: 100%; max-width: 1480px; } 105 body.ibx-ecosystem-admin .ibx-license-card { min-width: 0; padding: 18px; background: #fff; border: 1px solid var(--ibx-admin-line); border-radius: 5px; box-shadow: none; } 106 body.ibx-ecosystem-admin .ibx-license-card h2 { margin-top: 0; color: var(--ibx-admin-ink); font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; } 107 body.ibx-ecosystem-admin .ibx-license-card form { max-width: 100%; } 108 body.ibx-ecosystem-admin .ibx-license-card input.regular-text { box-sizing: border-box; width: 100%; max-width: 100%; } 109 body.ibx-ecosystem-admin .ibx-license-card .button { max-width: 100%; white-space: normal; } 107 110 body.ibx-ecosystem-admin .ibx-license-client table.widefat { max-width: 100% !important; } 108 111 body.ibx-ecosystem-admin.post-type-ibox_price_table .wrap .wp-heading-inline { color: var(--ibx-admin-ink); font-size: 27px; font-weight: 650; } … … 263 266 } 264 267 268 .ibx-settings-content:only-child { 269 grid-column: 1 / -1; 270 } 271 265 272 .ibx-settings-content > .card, 266 273 .ibx-settings-content > form > .card { -
inobarix-recurring-payments-for-mercado-pago/trunk/inobarix-recurring-payments-for-mercado-pago.php
r3711426 r3711978 3 3 * Plugin Name: Suscripciones y Pagos Recurrentes con Mercado Pago para WooCommerce 4 4 * Description: Crea suscripciones, pagos recurrentes, membresías y cobros automáticos con Mercado Pago en WooCommerce. 5 * Version: 1.0. 45 * Version: 1.0.5 6 6 * Author: Inobarix 7 7 * Author URI: https://inobarix.com.ar … … 49 49 50 50 define( 'INOBREPA_LOADED', true ); 51 define( 'INOBREPA_VERSION', '1.0. 4' );51 define( 'INOBREPA_VERSION', '1.0.5' ); 52 52 define( 'INOBREPA_FILE', __FILE__ ); 53 53 define( 'INOBREPA_PATH', plugin_dir_path( __FILE__ ) ); -
inobarix-recurring-payments-for-mercado-pago/trunk/readme.txt
r3711426 r3711978 6 6 Requires PHP: 7.4 7 7 Requires Plugins: woocommerce 8 Stable tag: 1.0. 48 Stable tag: 1.0.5 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 31 31 * Sincronización manual y programada de suscripciones y pagos autorizados. 32 32 * Vista para clientes en Mi cuenta de WooCommerce con historial de pagos y estado de reintentos. 33 * Gestión administrativa de suscripciones con detalle, sincronización , cancelación y diagnósticos.34 * Reportes básicos con gráficos de cobros, ingresos y altas, estados de suscripción y totales por moneda.33 * Gestión administrativa de suscripciones con detalle, sincronización y cancelación. 34 * Reportes básicos con gráficos, estados de suscripción y totales por moneda. 35 35 * Compatibilidad declarada con WooCommerce HPOS y Checkout Blocks. 36 36 * Una sección de soporte con acceso a consultas y documentación. … … 46 46 * **Organizaciones:** gestión de miembros, aprobaciones y credenciales digitales. 47 47 * **Precios en USD:** precios base en dólares con actualización de importes en pesos. 48 * **Contenido restringido:** acceso a páginas y entradas por cuenta o plan pagado, con verificación de correo y aprobación opcionales. 48 * **Contenido restringido:** acceso a páginas y entradas por cuenta o plan pagado. 49 * **Recordatorios de pago:** recuperación de pedidos pendientes y carritos abandonados. 49 50 50 51 Consulta las extensiones desde **Inobarix > Extensiones** en tu sitio o visita [Inobarix](https://inobarix.com.ar/). … … 58 59 == External services == 59 60 60 Este plugin se conecta a la API de Mercado Pago en https://api.mercadopago.com . Mercado Pago se utiliza para crear preferencias de Checkout Pro, crear y administrar preapprovals/suscripciones, consultar pagos y pagos autorizados, y sincronizar estados de suscripción o pago después de webhooks, sincronizaciones manuales o tareas programadas.61 Este plugin se conecta a la API de Mercado Pago en https://api.mercadopago.com para crear y administrar pagos y suscripciones, consultar estados y procesar notificaciones. 61 62 62 Los datos enviados a Mercado Pago pueden incluir ID del pedido de WooCommerce, importe del pedido, moneda, nombre del producto, email de facturación del cliente, URLs de retorno, URL segura de notificación/webhook generada por el plugin, importe de la suscripción, frecuencia de cobro e identificadores de suscripción o pagode Mercado Pago.63 Los datos enviados pueden incluir ID del pedido, importe, moneda, nombre del producto, email de facturación, URLs de retorno y notificación, frecuencia de cobro e identificadores de Mercado Pago. 63 64 64 Estos datos se envían cuando el cliente inicia el checkout, autoriza una suscripción, cuando el administrador sincroniza una suscripción, cuando se ejecuta una sincronización programada o cuando Mercado Pago envía un webhook. 65 66 Enlaces del servicio Mercado Pago: 65 Estos datos se envían al iniciar el checkout, autorizar una suscripción, ejecutar una sincronización o procesar un webhook. 67 66 68 67 * Términos: https://www.mercadopago.com.ar/ayuda/terminos-y-condiciones-uso_299 … … 82 81 3. Vaya a Inobarix > Inicio para revisar el checklist de configuración. 83 82 4. Abra Inobarix > Ajustes y configure las credenciales de Mercado Pago. 84 5. Cree o edite un producto simple de WooCommerce y active la opción de pago recurrente. 85 6. Venda el producto. El plugin envía automáticamente a Mercado Pago la URL segura para recibir notificaciones. 83 5. Cree o edite un producto simple y active la opción de pago recurrente. 86 84 87 85 == Frequently Asked Questions == … … 89 87 = ¿El plugin requiere WooCommerce Subscriptions? = 90 88 91 No. El plugin guarda sus propios registros de suscripcióny utiliza las APIs de suscripciones de Mercado Pago.89 No. El plugin guarda sus propios registros y utiliza las APIs de suscripciones de Mercado Pago. 92 90 93 91 = ¿El plugin guarda datos de tarjeta? = 94 92 95 No. Los clientes autorizan la suscripción en Mercado Pago. WordPress recibe estados de suscripción y pago mediante API y webhooks.93 No. Los clientes autorizan la suscripción en Mercado Pago. 96 94 97 95 = ¿Los clientes pueden ver sus suscripciones? = 98 96 99 Sí. Un endpoint de Mi cuenta muestra suscripciones actuales y anteriores, pedidos vinculados, estado de pago, reintentos e historial de pagos.97 Sí. Mi cuenta muestra suscripciones, pedidos vinculados, estados e historial de pagos. 100 98 101 99 = ¿Los administradores pueden sincronizar suscripciones manualmente? = 102 100 103 Sí. Los administradores pueden sincronizar suscripciones desde Inobarix > Suscripciones. El plugin también programa una tarea cron de WordPress. 104 105 = ¿Qué muestran los reportes del core? = 106 107 En Inobarix > Reportes puedes consultar los últimos 7, 30 o 90 días de suscripciones nuevas, cobros recurrentes e ingresos aprobados registrados localmente. Los gráficos muestran tendencias; los importes se separan por moneda y el detalle lista los 12 movimientos más recientes del período. Los registros anteriores permanecen en la base. Este resumen no sustituye la conciliación contable de Mercado Pago. 101 Sí. También existe una sincronización programada. 108 102 109 103 == Changelog == 110 104 105 = 1.0.5 = 106 * Mejora el panel administrativo con reportes gráficos, estados de suscripción y actividad reciente. 107 * Unifica el diseño del core y las extensiones, incluidas licencias, formularios y soporte. 108 * Actualiza el catálogo con imágenes, precios, nuevos addons y pruebas configuradas por producto. 109 * Refuerza la privacidad eliminando la telemetría y reduce conexiones externas innecesarias. 110 * Mejora la compatibilidad con WordPress, WooCommerce, HPOS y Checkout Blocks. 111 111 112 = 1.0.4 = 112 * Elimina la telemetria del core gratuito para reforzar la privacidad, la seguridad y la confianza en el medio de pago. 113 * Reduce conexiones externas innecesarias y mejora la estabilidad administrativa con versiones actuales de WordPress y WooCommerce. 114 * El core ya no informa datos tecnicos ni inventario de la instalacion al servidor de Inobarix. 115 116 = 1.0.3 = 117 * Muestra y rota las imagenes reales de las extensiones publicadas en la tienda. 118 * Agrega ampliacion de imagenes y mejora la jerarquia visual del titulo, precio y llamados a la accion. 119 * Simplifica el inicio eliminando los bloques redundantes de revision y proximos cobros. 120 * Agrega las cinco suscripciones mas recientes al inicio del plugin. 121 * Incorpora una extension publica destacada que rota automaticamente y prioriza modulos aun no activados. 122 123 = 1.0.2 = 124 * Agrega en Inicio listas de suscripciones que requieren revision y proximos cobros. 125 * Generaliza el flujo de dos pasos de Cobros avanzados para altas, accesos, servicios y entregas fisicas. 126 127 = 1.0.1 = 128 * Rediseña Reportes con graficos de ingresos por moneda, actividad de cobros, altas y estados. 129 * Agrega metricas de aprobacion y suscripciones activas, y mejora las consultas por fecha con indices. 130 * Agrega reportes basicos de suscripciones y cobros recurrentes registrados en el sitio. 131 * Permite consultar periodos de 7, 30 y 90 dias, totales por moneda y movimientos recientes. 132 * Actualiza el catalogo de extensiones con mas frecuencia para mostrar nuevos productos y precios. 133 * Agrega una accion independiente para actualizar el catalogo comercial sin buscar actualizaciones de plugins. 134 * Agrega Contenido restringido al catalogo de extensiones del ecosistema. 135 * Aplica el diseno compartido a tipos de contenido registrados debajo de Inobarix, incluidos los listados y editores de tablas de membresias. 136 * Mejora la presentacion de licencias y del menu de administracion del ecosistema. 137 * Aclara que el selector de medios solo afecta compras unicas con Checkout Pro. 138 * Quita la opcion de excluir dinero en cuenta, que Mercado Pago no permite controlar desde la preferencia. 139 * Corrige la explicacion de los medios disponibles en suscripciones. 140 * Refuerza la carga del diseno compartido en paginas de addons bajo Inobarix. 141 * Estiliza estados y tablas del gestor de licencias con la misma identidad del core. 142 * Divide Soporte en una columna de consultas y otra mas angosta para documentacion y servicios. 143 * Reduce la altura del formulario y adapta las columnas a pantallas pequenas. 144 * Alinea la identidad administrativa con los colores azul y negro de Inobarix. 145 * Define jerarquias compartidas para titulos, secciones y texto auxiliar de core y extensiones. 146 * Unifica el estilo de las pantallas del menu Inobarix, incluidos los ajustes de extensiones. 147 * Mejora los listados de suscripciones y planes con filtros ordenados, tablas adaptables y estados visuales. 148 * Unifica el estilo administrativo del core y las extensiones, incluidos Soporte, licencias y listados. 149 * Aclara los medios de pago disponibles para compras unicas y suscripciones. 150 * Organiza Inicio y un widget del Escritorio por estados de suscripcion. 151 * Agrega un widget de servicios Inobarix y una bienvenida descartable en la primera activacion. 113 * Refuerza la privacidad del medio de pago y agrega Recordatorios de Pago al ecosistema. 114 * Mejora la estabilidad administrativa y la integración con extensiones premium. 152 115 153 116 = 1.0 = 154 * Amplia Soporte con formulario de tickets, documentacion y servicios profesionales. 155 * Integra la pagina de Soporte al estilo del panel y presenta servicios Inobarix en Inicio. 156 * Renombra Modulos a Extensiones en la interfaz del core. 157 158 = 0.9.40 = 159 * Actualiza los medios de pago de Checkout Pro para reconocer tarjetas prepagas como `prepaid_card`. 160 * Migra las selecciones anteriores sin bloquear tarjetas prepagas y aclara que las suscripciones solo admiten tarjetas reutilizables compatibles. 161 162 = 0.9.33 = 163 * Corrige la redireccion de suscripciones cuando Mercado Pago agrega el parametro activation al init_point y muestra una pagina inexistente. 164 165 = 0.9.32-beta.3 = 166 * Simplifica Cobros avanzados a cobro normal, comienzo en fecha fija y flujo opcional de dos pasos. 167 * En el modo de dos pasos autoriza primero la suscripcion y luego crea una compra WooCommerce normal para la primera entrega. 168 * Agrega una guia visual recuperable en Mi cuenta y evita que el pedido inicial vuelva a crear otra suscripcion. 169 170 = 0.9.31 = 171 * Evita crear renovaciones y alterar fechas locales al sincronizar pagos ya aprobados. 172 * Detecta el mismo pago aunque llegue con otro identificador de factura. 173 174 = 0.9.30 = 175 * Corrige el próximo día fijo cuando el día elegido ya pasó en el mes actual. 176 * El modo de cuota completa usa el total real del pedido, incluido el envío. 177 * Evita mostrar dos fechas de próximo cobro y alinea la facturación mensual con Mercado Pago. 178 179 = 0.9.29 = 180 * Simplifica listados, detalles, Mi cuenta, configuracion y cobros avanzados con textos orientados al comercio. 181 * Oculta IDs, eventos y payloads tecnicos dentro de secciones plegables para soporte. 182 * Reduce columnas duplicadas y muestra frecuencias de cobro en lenguaje natural. 183 * Limpia automaticamente eventos normales de mas de 30 dias y errores de mas de 90 dias. 184 185 = 0.9.28 = 186 * Permite que los add-ons habiliten emails nativos de WooCommerce para pedidos fisicos recurrentes. 187 * Permite mantener el pedido original fisico en Procesando mientras la suscripcion sigue vinculada a el. 188 189 = 0.9.27 = 190 * Agrega el modo de cobro completo al comprar y nuevamente en la proxima fecha fija mensual. 191 * Mantiene el total normal del carrito y evita usar prorrateo o arancel para productos fisicos. 192 193 = 0.9.26 = 194 * Simplifica el inicio del plugin para priorizar suscripciones activas y casos que requieren atencion. 195 * Agrega un acceso directo a los pedidos WooCommerce para el flujo de productos fisicos. 196 * Corrige la regla responsive de las pantallas administrativas. 197 198 = 0.9.25 = 199 * Limita a dos decimales los importes de prorrateo enviados a Mercado Pago. 200 * Evita que la precision interna de PHP agregue decimales residuales al JSON de transaction_amount. 201 * Normaliza tambien el monto recurrente al restaurarlo luego del primer cobro. 202 203 = 0.9.24 = 204 * Hace mas robusta la sincronizacion programada de suscripciones con un cursor persistente por tandas. 205 * Reduce el intervalo del cron del core a 10 minutos y permite configurar el tamano del lote con un filtro. 206 * Evita que muchas suscripciones pendientes queden fuera del ciclo automatico de revision. 207 208 = 0.9.23 = 209 * Corrige el campo reason enviado a Mercado Pago para suscripciones y evita errores cuando el texto supera 40 caracteres. 210 * Agrega duración limitada por ciclos de cobro en productos de suscripción y envía end_date a Mercado Pago. 211 212 = 0.9.22 = 213 * Agrega ayuda dinámica en Cobros avanzados según el modo de cobro inicial seleccionado. 214 215 = 0.9.21 = 216 * Oculta el método de pago de suscripciones cuando el carrito no contiene productos de suscripción. 217 * Permite agregar una suscripción a un carrito con productos normales y muestra un botón para actualizar el carrito dejando solo la suscripción. 218 219 = 0.9.20 = 220 * Corrige textos con encoding roto en Cobros avanzados y documentación del core. 221 222 = 0.9.19 = 223 * Agrega sistema central de plantillas de emails editables para core y add-ons. 224 * Agrega dispatcher comun de emails con variables y compatibilidad con filtros anteriores. 225 * Agrega aviso administrativo si se detectan plugins externos de suscripciones activos sin add-on de compatibilidad. 226 * Prepara el modulo premium de Emails avanzados. 227 228 = 0.9.18 = 229 * Integra en el core la politica global de cobros avanzados para suscripciones: ventana de compra, cobro diferido, prorrateo real y arancel inicial. 230 * Mantiene el modo clasico como predeterminado para no alterar tiendas existentes. 231 * Expone la logica avanzada solo cuando un add-on premium habilita Cobros avanzados. 232 233 = 0.9.17 = 234 * Ajusta el logo de Mercado Pago en Checkout Blocks con un ancho fijo de 40 px para mantener una presentación estable. 235 236 = 0.9.16 = 237 * Agrega el logo opcional de Mercado Pago y textos predeterminados claros para suscripciones en checkout. 238 * Muestra en el carrito la fecha estimada del próximo pago recurrente. 239 240 = 0.9.15 = 241 * Cuando el carrito contiene una suscripción, muestra solo Mercado Pago Inobarix como medio de pago. 242 * Impide mezclar suscripciones con otros productos o comprar más de una suscripción por pedido. 243 244 = 0.9.14 = 245 * Registra la pasarela y su integracion con Checkout Blocks desde la carga del plugin, evitando que el orden de carga de temas o plugins deje a Mercado Pago fuera del checkout. 246 247 = 0.9.13 = 248 * Corrige el momento de carga del core para que la pasarela se registre antes de que WooCommerce Checkout Blocks resuelva los metodos de pago. 249 250 = 0.9.12 = 251 * Corrige el registro del metodo de pago en WooCommerce Checkout Blocks para que aparezca tambien cuando el checkout usa bloques. 252 253 = 0.9.11 = 254 * Reorienta el nombre, descripción y readme hacia suscripciones y pagos recurrentes con Mercado Pago para WooCommerce. 255 * Cambia el idioma base visible a español y agrega traducción en_US. 256 * Carga traducciones con load_plugin_textdomain en plugins_loaded. 257 * Muestra los módulos del roadmap como Próximamente cuando todavía no están instalados. 258 259 = 0.9.10 = 260 * Agrega URL segura de webhook automática al crear pagos y suscripciones. 261 * Simplifica los ajustes de webhooks y mejora la ayuda para conseguir credenciales de Mercado Pago. 262 263 = 0.9.9 = 264 * Envía emails cuando Mercado Pago confirma que una suscripción pausada vuelve a estar activa. 265 * Evita repetir emails de estado pausado/reactivado en cada sincronización manual o programada. 266 267 = 0.9.8 = 268 * Fuerza que el estado maestro de /preapproval prevalezca sobre pagos autorizados históricos. 269 * Sincroniza la suscripción maestra después de webhooks de payment.created y authorized payment. 270 271 = 0.9.7 = 272 * Evita que pagos aprobados históricos sobreescriban estados pausados o cancelados devueltos por Mercado Pago. 273 * Simplifica acciones de suscripciones para actualizar desde Mercado Pago solo desde el detalle o de forma masiva. 274 275 = 0.9.6 = 276 * Detecta suscripciones pausadas por Mercado Pago y permite reactivarlas manualmente desde el administrador. 277 * Envía aviso al cliente y al administrador cuando Mercado Pago pausa una suscripción. 278 * Envía un aviso único cuando Mercado Pago reprograma un cobro por reintento. 279 * Evita repetir notas de pedido para cancelaciones ya sincronizadas. 280 281 = 0.9.5 = 282 * Mueve el JavaScript de mantenimiento a un asset admin encolado. 283 * Requiere validación de firma de Mercado Pago antes de procesar webhooks. 284 * Amplía la documentación del servicio externo Mercado Pago. 285 * Renombra constantes internas con prefijo propio del plugin. 117 * Primera versión estable para crear y administrar suscripciones con Mercado Pago desde WooCommerce. 118 * Incluye sincronización, webhooks, Mi cuenta, soporte y un catálogo modular de extensiones. -
inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/ModulesPage.php
r3706526 r3711978 35 35 check_admin_referer( 'ibx_modules_check_updates' ); 36 36 delete_site_transient( 'inobarix_addons_catalog_v4' ); 37 delete_site_transient( 'inobarix_addons_catalog_v5' ); 38 delete_site_transient( 'inobarix_addons_catalog_v6' ); 39 delete_site_transient( 'ibx_license_trial_catalog' ); 37 40 if ( 'refresh_catalog' === $action ) { 38 41 wp_safe_redirect( add_query_arg( array( 'page' => self::SLUG, 'catalog-refreshed' => '1' ), admin_url( 'admin.php' ) ) ); -
inobarix-recurring-payments-for-mercado-pago/trunk/src/Admin/SubscriptionsPage.php
r3706526 r3711978 493 493 if ( $update ) { 494 494 $display_status = 'update_available'; 495 } elseif ( $active && in_array( $license_status, array( 'active', 'grace', ' stale' ), true ) ) {495 } elseif ( $active && in_array( $license_status, array( 'active', 'grace', 'trial_active', 'stale' ), true ) ) { 496 496 $display_status = 'active'; 497 497 } elseif ( $active ) { … … 499 499 } elseif ( $installed ) { 500 500 $display_status = 'inactive'; 501 } elseif ( in_array( $license_status, array( 'active', 'grace', ' stale' ), true ) ) {501 } elseif ( in_array( $license_status, array( 'active', 'grace', 'trial_active', 'stale' ), true ) ) { 502 502 $display_status = 'licensed_not_installed'; 503 503 } else { 504 504 $display_status = 'available_for_purchase'; 505 505 } 506 $show_trial_offer = 'available_for_purchase' === $display_status 507 && ! empty( $module['trial_enabled'] ) 508 && absint( $module['trial_days'] ?? 0 ) > 0; 506 509 ?> 507 510 <article class="ibx-module-card"> … … 513 516 <p><?php echo esc_html( $module['description'] ); ?></p> 514 517 <p><strong><?php echo esc_html( $module['price'] ); ?></strong></p> 518 <?php if ( $show_trial_offer ) : ?><p><strong><?php echo esc_html( sprintf( __( '%d dias gratis, sin tarjeta', 'inobarix-recurring-payments-for-mercado-pago' ), absint( $module['trial_days'] ) ) ); ?></strong></p><?php endif; ?> 515 519 <?php if ( $update ) : ?><p><strong><?php printf( esc_html__( 'Actualizacion disponible: %s', 'inobarix-recurring-payments-for-mercado-pago' ), esc_html( $update->new_version ) ); ?></strong></p><?php endif; ?> 516 520 <?php if ( ! empty( $module['license_required'] ) ) : ?> -
inobarix-recurring-payments-for-mercado-pago/trunk/src/Modules/ModuleRegistry.php
r3709773 r3711978 52 52 $usd_pricing_plugin = 'inobarix-usd-pricing-addon/inobarix-usd-pricing-addon.php'; 53 53 $restricted_content_plugin = 'inobarix-restricted-content-addon/inobarix-restricted-content-addon.php'; 54 $payment_reminders_plugin = 'inobarix-payment-reminders-addon/inobarix-payment-reminders-addon.php'; 54 55 $store_url = trailingslashit( (string) apply_filters( 'inobarix_store_url', 'https://inobarix.com.ar' ) ); 55 56 $catalog = self::remote_catalog(); … … 162 163 'url' => self::catalog_field( $catalog, 'restricted_content', 'buy_url', $store_url ), 163 164 'images' => self::catalog_images( $catalog, 'restricted_content' ), 165 ), 166 'payment_reminders' => array( 167 'name' => __( 'Recordatorios de pago', 'inobarix-recurring-payments-for-mercado-pago' ), 168 'description' => __( 'Recupera pedidos pendientes y fallidos con un recordatorio y enlace seguro de pago.', 'inobarix-recurring-payments-for-mercado-pago' ), 169 'category' => __( 'Ventas', 'inobarix-recurring-payments-for-mercado-pago' ), 170 'status' => self::plugin_active_status( $payment_reminders_plugin ), 171 'plugin' => $payment_reminders_plugin, 172 'license_required' => true, 173 'license_product' => 'payment_reminders', 174 'price' => self::catalog_field( $catalog, 'payment_reminders', 'price', __( 'Consultar precio', 'inobarix-recurring-payments-for-mercado-pago' ) ), 175 'url' => self::catalog_field( $catalog, 'payment_reminders', 'buy_url', $store_url ), 176 'images' => self::catalog_images( $catalog, 'payment_reminders' ), 164 177 ), 165 178 'content_restriction' => array( … … 176 189 ), 177 190 ); 191 foreach ( $modules as $slug => $module ) { 192 if ( ! empty( $module['license_required'] ) && isset( $catalog[ $slug ] ) ) { 193 $modules[ $slug ]['trial_enabled'] = ! empty( $catalog[ $slug ]['trial_enabled'] ); 194 $modules[ $slug ]['trial_days'] = absint( $catalog[ $slug ]['trial_days'] ?? 0 ); 195 } 196 } 178 197 179 198 /** … … 200 219 */ 201 220 private static function remote_catalog() { 202 $cache_key = 'inobarix_addons_catalog_v 5';221 $cache_key = 'inobarix_addons_catalog_v6'; 203 222 $cached = get_site_transient( $cache_key ); 204 223 if ( is_array( $cached ) ) { … … 249 268 'description' => sanitize_text_field( (string) ( $product['description'] ?? '' ) ), 250 269 'images' => array_values( array_filter( array_map( 'esc_url_raw', is_array( $product['images'] ?? null ) ? $product['images'] : array() ) ) ), 270 'trial_enabled' => ! empty( $product['trial_enabled'] ), 271 'trial_days' => max( 0, (int) ( $product['trial_days'] ?? 0 ) ), 251 272 ); 252 273 } … … 296 317 'update_available' => __( 'Actualizacion disponible', 'inobarix-recurring-payments-for-mercado-pago' ), 297 318 'license_active' => __( 'Licencia activa', 'inobarix-recurring-payments-for-mercado-pago' ), 319 'license_trial_active' => __( 'Prueba activa', 'inobarix-recurring-payments-for-mercado-pago' ), 320 'license_trial_expired' => __( 'Prueba vencida', 'inobarix-recurring-payments-for-mercado-pago' ), 298 321 'license_missing' => __( 'Licencia requerida', 'inobarix-recurring-payments-for-mercado-pago' ), 299 322 'license_expired' => __( 'Licencia vencida', 'inobarix-recurring-payments-for-mercado-pago' ), … … 389 412 'price' => sanitize_text_field( (string) ( $module['price'] ?? '' ) ), 390 413 'images' => array_values( array_filter( array_map( 'esc_url_raw', (array) ( $module['images'] ?? array() ) ) ) ), 414 'trial_enabled' => ! empty( $module['trial_enabled'] ), 415 'trial_days' => absint( $module['trial_days'] ?? 0 ), 391 416 ); 392 417 }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)