WP Manifestindependent plugin directory
manifest / ecommerce / woocomerce-dni-nie-validation-plugin

WooCommerce Verificación DNI

plugin para la validación de DNI/NIE, en casos de compra de productos limitados a la validación

by Gerard · github.com/llanasnas/woocomerce-dni-nie-validation-plugin · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/llanasnas/woocomerce-dni-nie-validation-plugin/archive/refs/heads/main.zip

WooCommerce Verificación Avanzada

Plugin profesional para WordPress/WooCommerce que gestiona la verificación de DNI/NIE para productos seleccionados. Compatible con el checkout clásico y el checkout de bloques de WooCommerce.

🚀 Características Principales

✅ Verificación de DNI/NIE

  • Subida obligatoria de DNI/NIE para productos seleccionados
  • Compatible con checkout clásico y bloques de WooCommerce
  • Validación automática de archivos (formato, tamaño, tipo)
  • Soporte para múltiples formatos: JPG, PNG, GIF, WebP y PDF
  • Drag & drop para subir archivos fácilmente
  • Protección de archivos fuera del acceso público
  • Verificación manual por administradores
  • Estado de verificación por usuario (una sola vez verificado, no vuelve a pedirse)
  • Pedidos automáticamente en espera hasta verificación
  • Visualización segura de documentos en el panel de administración

🔒 Seguridad y GDPR

  • Cumplimiento GDPR con consentimiento explícito obligatorio
  • Eliminación automática de archivos tras verificación
  • Validación estricta de archivos (máximo 5MB)
  • Acceso protegido mediante autenticación AJAX
  • Protección contra ejecución de código malicioso
  • Archivos servidos mediante PHP (no acceso directo)

⚡ Panel de Administración

  • Meta box en pedidos para revisar y verificar DNI
  • Visualización de imágenes directamente en el panel
  • Soporte para PDFs con icono y enlace de descarga
  • Botones de acción para verificar o rechazar
  • Compatible con HPOS (High-Performance Order Storage)
  • Estado visible para el cliente en su cuenta

🛠️ Instalación

  1. Subir archivos: Copie la carpeta del plugin a /wp-content/plugins/
  2. Activar plugin: Vaya a Plugins → Plugins Instalados → Activar
  3. Verificar requisitos: Asegúrese de que WooCommerce esté activo
  4. Configurar: Vaya a WooCommerce → Verificación Avanzada

⚙️ Configuración

Configuración Inicial

  1. Seleccionar productos: Use la búsqueda para agregar productos que requieran verificación de DNI
  2. Guardar cambios: Haga clic en "Guardar configuración"

Productos que Requieren DNI

  • Busque productos por nombre o SKU
  • Agregue productos a la lista de verificación
  • Los campos aparecerán automáticamente en el checkout cuando el carrito contenga estos productos

🎯 Flujo de Trabajo

Para el Cliente:

  1. Agrega producto que requiere verificación al carrito
  2. En checkout aparece campo obligatorio para subir DNI/NIE
  3. Acepta GDPR marcando la casilla de consentimiento
  4. Sube documento arrastrando o seleccionando archivo
  5. Completa pedido normalmente
  6. Pedido en espera hasta que admin verifique
  7. Una vez verificado, el usuario no necesita volver a subir DNI en futuras compras

Para el Administrador:

  1. Recibe pedido en estado "En espera"
  2. Abre el pedido y ve el meta box de verificación
  3. Revisa el documento (imagen o PDF)
  4. Verifica o rechaza el DNI/NIE
  5. Si verifica: El pedido pasa a "Procesando" y la imagen se elimina por seguridad
  6. Si rechaza: Se notifica al cliente para que suba nuevo documento

📋 Requisitos del Sistema

  • WordPress: 5.0 o superior
  • WooCommerce: 5.0 o superior
  • PHP: 7.4 o superior
  • Espacio: ~2MB para plugin + espacio temporal para archivos DNI
  • Permisos: Escritura en directorio del plugin

🔧 Estructura de Archivos

woocommerce-verificacion-avanzada/
├── woocommerce-verificacion-avanzada.php  # Archivo principal
├── README.md                              # Este archivo
├── admin/                                 # Panel de administración
│   ├── class-wc-verificacion-admin.php
│   ├── css/
│   │   └── wc-verificacion-admin.css
│   └── js/
│       └── wc-verificacion-admin.js
├── includes/                              # Clases principales
│   ├── class-wc-verificacion-avanzada-core.php
│   └── class-wc-verificacion-dni.php
├── uploads/                               # Archivos DNI (protegido)
│   ├── .htaccess                          # Protección de acceso
│   └── index.php                          # Archivo de seguridad
└── languages/                             # Traducciones (futuro)

🛡️ Seguridad

Protección de Archivos

  • Directorio protegido: /uploads/ con .htaccess que bloquea acceso directo
  • Nombres únicos: Archivos con timestamp + ID de pedido
  • Validación estricta: Solo formatos de imagen y PDF permitidos
  • Tamaño limitado: Máximo 5MB por archivo
  • Acceso vía AJAX: Los archivos se sirven mediante PHP con verificación de permisos
  • Eliminación automática: Tras verificación exitosa, las imágenes se eliminan

Cumplimiento GDPR

  • Consentimiento explícito obligatorio para subir documento
  • Eliminación automática tras verificación
  • Sin almacenamiento innecesario de datos personales

🚨 Solución de Problemas

Errores Comunes

  1. "WooCommerce no detectado": Verifique que WooCommerce esté activo
  2. "Error de permisos": Asegúrese de que el directorio uploads tenga permisos de escritura
  3. "Archivos no se suben": Verifique límites de PHP (upload_max_filesize, post_max_size)
  4. "Forbidden" al ver archivo: Los archivos se sirven vía AJAX, asegúrese de estar logueado como admin

Checkout de Bloques

Si usa el checkout de bloques de WooCommerce, el plugin inyecta automáticamente el campo de DNI mediante JavaScript. Si tiene problemas:

  1. Limpie la caché del navegador
  2. Desactive plugins de caché temporalmente
  3. Verifique la consola del navegador para errores

📝 Changelog

Versión 1.1.0

  • Compatibilidad con checkout de bloques de WooCommerce
  • Soporte para PDF además de imágenes
  • Drag & drop para subir archivos
  • Servicio de archivos vía AJAX (más seguro)
  • Compatibilidad con HPOS de WooCommerce
  • Mejoras en la interfaz del meta box

Versión 1.0.0

  • Lanzamiento inicial
  • Verificación de DNI completa
  • Panel de administración
  • Cumplimiento GDPR implementado

📄 Licencia

GPL v2 o posterior - Compatible con WordPress Core.


Desarrollado con ❤️ para la comunidad WordPress/WooCommerce