== Changelog ==

= 2.1.0 =
- Webhook de notificaciones de pago: nueva URL (con token) en la pantalla de configuración, con opción de copiar y regenerar el token
- El retorno del comprador ya no marca la orden como pagada por sí solo: el pago se confirma consultando el detalle de la orden en Ionix Payments
- Conciliación automática con Action Scheduler: verificación de cada pago a los 15 minutos, 1 hora y 6 horas, y revisión horaria de órdenes pendientes de los últimos 3 días
- Las órdenes canceladas o expiradas en Ionix Payments se cancelan en WooCommerce si no estaban pagadas; los reembolsos totales marcan la orden como reembolsada y los parciales se registran como nota
- Se envía el id de la orden WooCommerce (commerce_order) al crear el pago y se guarda el id de la orden Ionix de cada intento
- Corrección del header de autorización en las consultas GET a la API
- Transferencias se desactiva cuando la moneda de la tienda no es peso chileno (CLP), igual que Tarjetas
- Transferencias ya no muestra campos de Secret, Token y ambiente que no se usaban: las credenciales son compartidas y se configuran solo en Tarjetas. Transferencias muestra ahora su propia descripción en el checkout (antes mostraba la de Tarjetas)
- En la pestaña Transacciones, el estado interno de la orden se muestra en español (antes aparecía el nombre en inglés: pending, completed...) y la fecha de transacción queda vacía mientras no haya un pago confirmado (antes mostraba la fecha de hoy)
- Corrección: si el retorno del comprador y el webhook llegaban casi a la vez, el pago se confirmaba dos veces (dos notas, dos cambios de estado y los correos duplicados). Ahora la orden se vuelve a leer desde la base de datos una vez tomado el bloqueo (incluido el caché de órdenes de WooCommerce con HPOS) y, antes de confirmar, se comprueba directamente en la base de datos que el pago no esté ya confirmado
- Corrección: la cadena de verificaciones programadas ya no se corta cuando una verificación coincide con otra consulta reciente; se repite ese mismo intento al terminar la ventana
- Corrección: en Transacciones, el buscador ya no envía el formulario de ajustes de WooCommerce (llevaba a Ajustes > General sin filtrar) y buscar funciona sobre número de pedido, método de pago, estados, orden Ionix, autorización, monto y fechas; ordenar por Orden Ionix, Fecha Transacción, Pedido y Fecha usa el valor de cada columna
- Corrección: mientras el pago no esté confirmado, la página Pedido recibido dice «Estamos confirmando tu pago con Ionix Payments» (checkout clásico y por bloques) en vez de «Tu pedido ha sido recibido»
- Corrección: el webhook ignora, y deja una advertencia en los registros, una notificación cuyo commerce_order no corresponde a la orden asociada a esa orden Ionix
- Corrección: aparecen los enlaces «Configurar Tarjetas» y «Configurar Transferencias» en la fila del plugin en Plugins
- Corrección: tras guardar la configuración se mantiene la pestaña Configuración en vez de volver a Inicio
- Las notas del pedido y los registros ya no guardan el correo ni el nombre del comprador ni la clave del pedido
- Al iniciar un nuevo intento de pago se limpia el error del intento rechazado anterior
- «Copiar URL» del webhook avisa si no se pudo copiar y usa un método alternativo si el navegador deniega el portapapeles
- Mantenimiento: el dominio de texto pasa a ser «zeleri-woo-oficial» (el slug del plugin), se escapa el mensaje de las excepciones y se corrigen otras advertencias de Plugin Check; «Tested up to» pasa a 7.1
- Corrección: al desactivar el plugin se cancelan también las verificaciones programadas de cada pago (antes solo se cancelaba la revisión horaria y quedaban acciones pendientes sin quien las atendiera)
- Se valida el monto mínimo de pago de Ionix Payments ($1.000) antes de crear el pago: si el total del pedido es menor, el comprador ve un mensaje claro. Cuando Ionix rechaza los datos del pedido por otro motivo, ve un mensaje claro en vez de «El cuerpo de la solicitud no es válido» y el detalle técnico queda en los registros
- La URL del webhook usa siempre la forma index.php?rest_route=…, que funciona con cualquier configuración de enlaces permanentes (antes era /wp-json/…, que dejaba de responder si se cambiaban los enlaces o el servidor no resolvía esa ruta). Las URL registradas antes siguen funcionando

= 2.0.1 =
- Corrección del retorno desde Webpay/Ionix: el comprador no volvía a la tienda (404 con enlaces permanentes simples, pantalla en blanco o error fatal después de pagar)
- El retorno se valida con el número y la clave del pedido en vez de un nonce, que fallaba en retornos desde otro sitio; se mantiene compatibilidad con pedidos que estaban en curso
- El medio de pago por transferencia atiende su propio retorno y ya no usa por error el de tarjetas
- Un resultado tardío ya no sobrescribe una orden aceptada o rechazada
- Se conservan la reducción de stock y los correos al marcar el pedido como completado
- Verificación del certificado TLS en producción en las llamadas a la API

= 2.0.0 =
- Actualización de branding en panel de administración
- Mejoras en descripciones y títulos de payment gateways
- Aplicación de estilos para imágenes de pago
- Aumento de cobertura de tests
- Corrección de precisión en nombres de variables
- Actualización de links y documentación a Ionix Payments
- Mejoras de seguridad

= 1.2.0 =
- Integración con SonarQube para análisis de código
- Configuración completa de CI/CD con GitHub Actions
- Expansión de cobertura de tests 
- Setup de WordPress con WooCommerce en CI
- Mejoras en configuración de PHPUnit
- Validación de tokens y diagnostics en CI
- Actualización a stable tag 1.1.5

= 1.1.4 =
- Configuración inicial de PHPUnit
- Setup de test infrastructure con mocks de WordPress
- Refactor de diseño según especificaciones Figma
- Actualización de URLs de API para ambiente de integración
- Ajuste de permisos de shell scripts
- Configuración de coverage reports
- Agregar mocks faltantes para WP_List_Table, wp_nonce_field, esc_attr
- Actualización para compatibilidad con WooCommerce 10.3.5 y Wordpress 6.9.1

= 1.1.3 =
- Versión inicial del plugin Ionix Payments
- Integración con WooCommerce
- Soporte para pagos con tarjeta de crédito (TDC)
- Soporte para transferencias bancarias (TB)
- Panel de administración con configuración de API
- Sistema de validación de firmas
- Tabla de transacciones en base de datos

= 1.1.3 =
* Agrega una selección de ambientes para cambiar entre integración y producción
* Se agrega un registro de logs para saber a qué ambiente se está integrado.

= 1.1.2 =
* Optimiza la solicitud de ordenes asociados al medio de pago Ionix Payments.

= 1.1.1 =
* Corrección de errores con ambientes.
* Validación de compatibilidad con actualizaciones.

= 1.1.0 =
* Correcciones de Seguridad reportados por Sonar
* Pipeline

= 1.0.3 =
* Pagos mediante tarjeta de credito y debito.
* Pagos mediante transferencias bancarias.
* Listado de transaccciones realizadas con Ionix Payments
