-- ============================================================
-- sql/pagos.sql — Migración para módulo de pagos
-- Ejecutar DESPUÉS de schema.sql
-- ============================================================

-- Intentos / comprobantes de pago (transferencias, Payone pendiente)
CREATE TABLE IF NOT EXISTS pagos_intentos (
    id           INT AUTO_INCREMENT PRIMARY KEY,
    factura_id   INT NOT NULL,
    usuario_id   INT NOT NULL,
    metodo       VARCHAR(60) NOT NULL,
    referencia   VARCHAR(200) NOT NULL,
    monto        DECIMAL(10,2) NOT NULL,
    estado       ENUM('pendiente','verificado','rechazado') NOT NULL DEFAULT 'pendiente',
    notas        TEXT,
    creado_en    TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    revisado_en  TIMESTAMP NULL,
    revisado_por INT NULL,
    FOREIGN KEY (factura_id)   REFERENCES facturas(id) ON DELETE CASCADE,
    FOREIGN KEY (usuario_id)   REFERENCES usuarios(id) ON DELETE CASCADE,
    FOREIGN KEY (revisado_por) REFERENCES usuarios(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- Ampliar columna referencia_pago de facturas (por si ya existía corta)
ALTER TABLE facturas 
    MODIFY COLUMN referencia_pago VARCHAR(255) NULL,
    MODIFY COLUMN metodo_pago     VARCHAR(80)  NULL;

-- Índice útil para búsquedas
CREATE INDEX IF NOT EXISTS idx_pagos_intentos_factura ON pagos_intentos(factura_id);
CREATE INDEX IF NOT EXISTS idx_pagos_intentos_estado  ON pagos_intentos(estado);
