Redsys Ghost Buster WP Registry grade B. Medium-severity findings · 1 findingWP RegistryMedium-severity findings · 1 findingOpen the reportB
No mas pedidos fantasma con redsys y Cloudflare
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/replantadev/redsisghostbuster/releases/download/v1.3.0/replanta-rgb-1.3.0.zipPlugin profesional para detectar y corregir pedidos fantasma en WooCommerce + Redsys
Los "pedidos fantasma" son aquellos que fueron pagados y autorizados en Redsys pero aparecen como cancelados en WooCommerce. Esto ocurre cuando las notificaciones IPN de Redsys son bloqueadas por Cloudflare u otros sistemas de seguridad.
Caracteristicas
- Deteccion inteligente de pedidos fantasma
- Integracion automatica con Cloudflare - Crea reglas WAF con un clic
- Integracion con LiteSpeed Cache - Configura exclusiones automaticamente
- Dashboard profesional con estadisticas en tiempo real
- Actualizaciones automaticas desde este repositorio GitHub
- Logging asincrono que no ralentiza tu sitio
- Procesamiento en lote de multiples pedidos
- Seguridad robusta con validacion de nonce y permisos
Instalacion
Opcion 1: Descarga directa (Recomendado)
- Ve a Releases
- Descarga el archivo
.zipde la ultima version - En WordPress, ve a Plugins > Anadir nuevo > Subir plugin
- Selecciona el archivo ZIP y haz clic en Instalar ahora
- Activa el plugin
Opcion 2: Clonar repositorio
cd wp-content/plugins/
git clone https://github.com/replantadev/redsisghostbuster.git
Configuracion Rapida (3 minutos)
1. Obtener credenciales de Cloudflare
API Key:
- Ve a https://dash.cloudflare.com
- Perfil > API Tokens > Global API Key > Ver
- Copia la clave
Zone ID:
- Dashboard de tu dominio > Resumen de dominio
- Esquina inferior derecha > Zone ID
- Copialo
2. Configurar el plugin
- Ve a WooCommerce > Pedidos Fantasma
- Pestana Configuracion
- Pega API Key y Zone ID
- Clic en Probar Conexion
- Clic en Aplicar Reglas de Cloudflare
- Guardar Configuracion
3. LiteSpeed Cache (opcional)
Si tienes LiteSpeed Cache:
- Clic en Aplicar Reglas de LiteSpeed Cache
Listo! El plugin esta funcionando.
Como funciona?
El problema
Cliente paga en Redsys > Redsys envia IPN > Cloudflare BLOQUEA > WooCommerce no recibe > Pedido CANCELADO
La solucion
Cliente paga en Redsys > Redsys envia IPN > Cloudflare PERMITE (regla WAF) > WooCommerce recibe > Pedido COMPLETADO
Regla de Cloudflare creada
Expression: (http.request.uri.query contains "wc-api=WC_redsys") or (ip.geoip.asnum eq 31627)
Action: Skip > Browser Integrity Check
Esto permite que Redsys (ASN 31627) envie notificaciones sin ser bloqueado.
Actualizaciones Automaticas
El plugin detecta automaticamente nuevas versiones desde este repositorio GitHub.
- Verifica releases/tags cada 12 horas
- Notifica en el dashboard de WordPress cuando hay actualizacion
- Un clic para actualizar (como cualquier plugin de WordPress)
Forzar verificacion
// En tu tema o plugin personalizado
Replanta_Ghost_Orders_GitHub_Updater::force_check();
Modos de Operacion
Modo Vigilante (Recomendado)
- Detecta pedidos fantasma
- NO los modifica automaticamente
- Tu decides que hacer manualmente
Modo Automatico
- Detecta pedidos fantasma
- Cambia estado a "Procesando" automaticamente
- Envia notificacion al cliente
Estructura del Plugin
redsisghostbuster/
├── redsys-ghost-buster.php (Principal)
├── includes/
│ ├── class-settings.php (Configuracion)
│ ├── class-async-logger.php (Logger no-blocking)
│ ├── class-cloudflare-api.php (API Cloudflare)
│ ├── class-lswc-config.php (LiteSpeed Cache)
│ ├── class-detector.php (Deteccion)
│ ├── class-admin-page.php (Interfaz admin)
│ └── class-github-updater.php (Auto-updates)
├── templates/
│ └── settings-form.php
├── assets/
│ ├── css/admin-style.css
│ └── js/admin-script.js
└── uninstall.php
Hooks y Filtros
Actions
// Cuando se detecta un pedido fantasma
add_action('replanta_god_ghost_detected', function($order_id) {
// Tu codigo aqui
});
// Cuando se procesa un pedido fantasma
add_action('replanta_god_ghost_processed', function($order_id, $new_status) {
// Tu codigo aqui
}, 10, 2);
Filters
// Excluir estados de la deteccion
add_filter('replanta_god_excluded_statuses', function($statuses) {
$statuses[] = 'draft';
return $statuses;
});
// Anadir campos al log
add_filter('replanta_god_log_extra_fields', function($extra) {
$extra['user_ip'] = $_SERVER['REMOTE_ADDR'] ?? '';
return $extra;
});
Solucion de Problemas
"Error de conexion con Cloudflare"
Verifica API Key y Zone ID (copialos de nuevo)
"No se detectan pedidos fantasma"
Ve a Configuracion y asegurate de que "Deteccion activa" este habilitado
"LiteSpeed Cache no aparece"
LiteSpeed Cache no esta instalado (es opcional)
"El plugin no muestra estilos"
Limpia la cache de tu CDN o LiteSpeed Cache
Requisitos
| Requisito | Version |
|---|---|
| WordPress | 5.0+ |
| PHP | 7.4+ |
| WooCommerce | 4.0+ |
| MySQL | 5.6+ |
Contribuir
Las contribuciones son bienvenidas!
- Fork el repositorio
- Crea una rama (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -am 'Anadir nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Changelog
v1.0.0 (2024)
- Primera version estable
- Deteccion de pedidos fantasma
- Integracion Cloudflare + LiteSpeed Cache
- Dashboard profesional
- Sistema de actualizaciones desde GitHub
- Logging asincrono
Ver CHANGELOG.md para historial completo.
Licencia
Este plugin es software libre bajo licencia GPL v2 o posterior.
Autores
- Replanta - replanta.es
Apoya el proyecto
Si este plugin te ha sido util:
- Dale una estrella al repositorio
- Reporta bugs o sugiere mejoras
- Compartelo con otros desarrolladores
Hecho por Replanta
Soluciones inteligentes para WooCommerce + Redsys
Releases
6 releases. Each count is every asset in that release; expand a row for the breakdown.