Saltar a contenido

Convoca Gateway

Guía para administradores: pasarela de pagos con Redsys.

1. Introducción

Convoca Gateway procesa pagos a través de Redsys (Sermepa), el TPV virtual más usado en España. Permite crear pagos manuales, generar links de pago para compartir, y recibir notificaciones automáticas cuando un pago se completa.

Requiere: convoca-core activo.

Integración en cualquier sitio: Útil para cuotas de socios, donaciones, o inscripciones a actividades de pago. El shortcode [convoca_pago] puede incrustarse en cualquier página existente.

2. Configuración de Redsys

  1. Ve a Convoca → Gateway → Ajustes
  2. Rellena los datos de tu comercio Redsys:
Campo Descripción
Comercio (FUC) Número de comercio asignado por el banco
Terminal Número de terminal (normalmente 001)
Clave secreta Clave SHA-256 proporcionada por Redsys
Titular Nombre del titular del comercio
Moneda EUR (978)
Entorno Real o Pruebas (sandbox)
  1. Usa el botón Probar conexión para verificar que los datos son correctos
  2. Configura la URL de notificación en el panel de Redsys:
    https://tudominio.com/wp-json/convoca-gateway/v1/notificacion
    

3. Crear un pago manual

  1. Ve a Pagos → Añadir nuevo
  2. Rellena:
Campo Descripción
Concepto Descripción del pago (ej: "Cuota anual 2026")
Importe En euros (ej: 30.00)
Socio Vincular a un socio (opcional)
Email Email del pagador para notificaciones
  1. El sistema genera un link de pago único que puedes copiar y enviar
  2. El link usa un hash persistente (no caduca si cambia AUTH_SALT)

Shortcode

[convoca_pago]

Muestra un formulario de pago simple. Atributos opcionales:

[convoca_pago concepto="Donación" importe="10" sugerido="5,10,20,50"]

Shortcodes de resultado (páginas de retorno del proveedor):

[convoca_pago_ok]   Página de pago correcto
[convoca_pago_ko]   Página de pago fallido/cancelado

4. Panel de pagos

En Convoca → Gateway → Pagos verás:

  • Listado de todos los pagos con estado (Pendiente, Completado, Fallido)
  • Filtro por fecha, estado y socio
  • Exportar CSV

5. Notificaciones automáticas

Cuando Redsys confirma un pago:

  1. El sistema valida la firma HMAC SHA-256
  2. Actualiza el estado del pago a "Completado"
  3. Si está vinculado a un socio, actualiza su membresía
  4. Envía email de confirmación al pagador
  5. Dispara el webhook payment.completed

5.1 Webhook de notificación

Redsys llama al endpoint POST /wp-json/convoca-gateway/v1/notify tras cada transacción (sin autenticación, como exige Redsys). El webhook:

  1. Valida la firma HMAC-SHA256 de la notificación
  2. Actualiza el pago a "Completado"
  3. Dispara convoca_gateway_payment_completed (Enroll confirma inscripciones, Members activa membresías)

Configura esta URL como URL de notificación en el portal de Redsys.

5.2 Páginas de retorno

Cuando el socio paga en el TPV de Redsys, es redirigido a las páginas de resultado:

Página Shortcode Uso
/pago-ok/ [convoca_pago_ok] Pago completado correctamente
/pago-ko/ [convoca_pago_ko] Pago cancelado o fallido

Configura ok_page_id y ko_page_id en los ajustes (o crea las páginas con los shortcodes). Sin configurar, se usa el fallback /pago-completado/ y /pago-error/.

5.3 Modo test

En Ajustes → Entorno = Test el plugin usa las credenciales sandbox de Redsys (merchant, terminal y clave de firma del entorno de pruebas). El TPV de pruebas está en sis-t.redsys.es:25443. Útil para validar el flujo completo antes de pasar a producción.

6. Diagnóstico

El panel Convoca → Salud del Sistema incluye chequeos específicos de Gateway:

  • ✅ Conectividad con Redsys
  • ✅ Certificados SSL válidos
  • ✅ Configuración del comercio
  • ✅ URL de notificación accesible

8. Problemas comunes

Problema Solución
Error "Firma no válida" Verifica la clave secreta en Ajustes. Redsys distingue mayúsculas
Pago completado pero no se refleja Revisa Convoca → Registros para ver la notificación recibida
Link de pago no funciona Asegúrate de que el pago no está ya completado. Cada link es de un solo uso
Entorno de pruebas Usa el modo "Pruebas" y la tarjeta 4548812049400004

Nota técnica

El endpoint /wp-json/convoca/v1/gateway/redsys-notify existe en includes/Rest_API.php pero esa clase no se instancia (código muerto). La URL de notificación real que se envía a Redsys es convoca-gateway/v1/notify (registrada en convoca-gateway.php). El código muerto está pendiente de eliminar.

8. Bloques Gutenberg

Bloque Registro Uso
convoca-gateway/pagina-pago Block_Gateway.php Página de pago (TPV Redsys)
convoca-gateway/pago-ok Block_Gateway.php Confirmación de pago correcto
convoca-gateway/pago-ko Block_Gateway.php Pago fallido/cancelado

9. Métodos de pago

Además de tarjeta, el gateway soporta:

  • Bizum: seleccionable como método; merchant code propio
  • Transferencia bancaria: muestra instrucciones IBAN y permite subir comprobante