-- Script SQL para crear la tabla de pedidos de Pagopar
-- Ejecutar este script en tu base de datos MySQL/MariaDB

CREATE TABLE IF NOT EXISTS `pedidos_pagopar` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `id_pedido_comercio` VARCHAR(100) NOT NULL UNIQUE,
  `hash_pagopar` VARCHAR(255) NOT NULL,
  `pedido_pagopar_id` VARCHAR(50) DEFAULT NULL,
  `monto_total` DECIMAL(15,2) NOT NULL,
  `monto_pagado` DECIMAL(15,2) DEFAULT NULL,
  `estado` VARCHAR(50) NOT NULL DEFAULT 'pendiente',
  `forma_pago` VARCHAR(100) DEFAULT NULL,
  `datos_comprador` TEXT,
  `datos_productos` TEXT,
  `datos_notificacion` TEXT,
  `fecha_creacion` DATETIME NOT NULL,
  `fecha_maxima_pago` DATETIME DEFAULT NULL,
  `fecha_pago` DATETIME DEFAULT NULL,
  `fecha_actualizacion` DATETIME DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_hash` (`hash_pagopar`),
  KEY `idx_pedido_comercio` (`id_pedido_comercio`),
  KEY `idx_estado` (`estado`),
  KEY `idx_fecha_creacion` (`fecha_creacion`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Índices adicionales para mejorar el rendimiento
ALTER TABLE `pedidos_pagopar` 
  ADD INDEX `idx_pedido_pagopar` (`pedido_pagopar_id`),
  ADD INDEX `idx_estado_fecha` (`estado`, `fecha_creacion`);

-- Comentarios para documentar la tabla
ALTER TABLE `pedidos_pagopar` 
  COMMENT = 'Tabla para almacenar las transacciones realizadas a través de Pagopar';
