Portal de Desarrolladores

Redsys para PrestaShop API

14 servicios especializados, 28 controladores y una superficie de integración completa para desarrolladores de PrestaShop.

PrestaShop 8+ · PHP 8.1+ Referencia de hooks Ver plugin

Modelo de integración

Redsys para PrestaShop es un módulo estándar de PrestaShop (PrestaShop 8+, PHP 8.1+). No expone una REST API de transacciones de propósito general: no hay recurso WebserviceRequest ni endpoint JSON público para consultar o modificar transacciones de forma remota. En su lugar, la superficie de integración es la convencional de PrestaShop — front controllers (las URLs de pago, retorno y notificación), controladores de administración (pestañas del back-office), una capa de servicios internos, un registro de capacidades de pago y hooks del módulo.

Si necesitas consultar pedidos o emitir reembolsos de forma programática desde un sistema externo, usa el propio Webservice del núcleo de PrestaShop (el recurso /api) sobre los datos de tu tienda, y personaliza el flujo de Redsys mediante los hooks del módulo. Para automatizar pagos mediante una API dedicada, WooCommerce Redsys Gateway expone una REST API A2A / UCP completa.

Nota: el módulo incluye internamente un RedsysRestService — ese es el cliente que el módulo usa para comunicarse con la propia REST API de Redsys para pagos InSite. No es una API que el módulo exponga a terceros.

URLs de front controller

Los front controllers se encuentran en controllers/front/ y se alcanzan a través del module link de PrestaShop, por ejemplo:

Patrón de module link
# Built in code with $this->context->link->getModuleLink('ps_redsys_gateway', '<controller>')
https://your-store.com/index.php?fc=module&module=ps_redsys_gateway&controller=<controller>
# or, with friendly URLs enabled
https://your-store.com/module/ps_redsys_gateway/<controller>

Los controladores siguientes son los que un desarrollador suele necesitar conocer. Son visitados por el navegador del comprador o llamados servidor a servidor por Redsys; no son una API de consulta.

ControladorFunción
paymentInicia el pago y redirige al comprador a Redsys
validationValida los datos de pago para InSite y otros métodos embebidos
ipnRecibe la Instant Payment Notification firmada de Redsys (servidor a servidor)
confirmationGestiona el retorno correcto desde Redsys (puede liquidar vía IPN o parámetros de URL)
returnGestiona los retornos fallidos / cancelados desde Redsys
paygoldipnEndpoint IPN para enlaces de pago Paygold
savedcardpayment / oneclickpaymentPago con una tarjeta almacenada / checkout en un clic
bizumpayment / insitepaymentPuntos de entrada de pago Bizum e InSite (tarjeta embebida)
expresspay / googlepaycheckoutpayment / applepaycheckoutpaymentHandlers de express checkout (Apple Pay, Google Pay, un clic)
cronTareas programadas (notificaciones de caducidad de tarjeta, mantenimiento)

Notificación (IPN)

La liquidación del pago la impulsa la notificación firmada servidor a servidor de Redsys, no el navegador del comprador. Esta URL se configura en tu terminal de Redsys (RedsysHMAC) como la "URL de notificación / merchant URL". El módulo la expone a través del front controller ipn.

URL de notificación
https://your-store.com/index.php?fc=module&module=ps_redsys_gateway&controller=ipn
# Paygold payment links use a dedicated endpoint
https://your-store.com/index.php?fc=module&module=ps_redsys_gateway&controller=paygoldipn

El controlador verifica la firma HMAC-SHA256 de Redsys en el payload Ds_Signature / Ds_MerchantParameters antes de cambiar cualquier estado de pedido. Alrededor de este procesamiento el módulo dispara los hooks actionRedsysBeforeIPNProcess y actionRedsysAfterIPNProcess — consulta la referencia de hooks para insertar tu propia lógica.

Servicios y capacidades

La lógica de negocio reside en clases de servicio PSR-4 bajo src/Service/ (namespace RedsysGateway\Service\). Son bloques de construcción internos que puedes reutilizar desde un override o un módulo complementario; no son endpoints de red.

ServicioResponsabilidad
RedsysRefundServiceEjecuta reembolsos totales y parciales contra Redsys
TokenManagementServiceAlmacena, lista y elimina tokens de tarjeta guardada
PreauthorizationServicePreautorización y captura posterior
PaygoldServiceGeneración de enlaces de pago Paygold
ExpressCheckoutService / ApplePayService / GooglePayService / OneClickServiceFlujos de express checkout y wallet
RedsysOrderNumberServiceConstruye y analiza el número de pedido de Redsys (Ds_Merchant_Order)
RedsysRestService / InespayApiServiceClientes para las REST APIs de Redsys e Inespay
PaymentFilterServiceControla qué métodos de pago se ofrecen
LogManagementService / LicenseServiceGestión de logs y de licencia

Las capacidades de pago se registran a través de un pequeño registro bajo src/Capability/ (CapabilityRegistry con PreauthCapability, RefundCapability y TokenRCapability). Los terceros pueden registrar y consultar capacidades mediante los hooks actionRegisterPaymentCapabilities y actionCheckPaymentCapability.

Controladores de administración

Las pestañas del back-office se encuentran bajo controllers/admin/. Se renderizan dentro de la administración de PrestaShop y están protegidas por los permisos habituales de empleado.

ControladorPropósito
AdminRedsysLogsControllerExamina y exporta los logs de transacciones de la pasarela
AdminRedsysTokensControllerGestiona los tokens de tarjeta almacenados
AdminRedsysPaygoldControllerCrea y hace seguimiento de los enlaces de pago Paygold
AdminRedsysLicenseControllerActiva y gestiona la licencia del módulo

Configuración

Todos los ajustes se almacenan a través del almacén Configuration de PrestaShop y se editan desde la pantalla de configuración del módulo (Módulos → Redsys para PrestaShop → Configurar). Lee los valores en código con la API estándar de PrestaShop:

PHP — ejemplo
// Read a stored Redsys configuration value (key names are internal to the module).
$merchantCode = Configuration::get('REDSYS_MERCHANT_CODE'); // example key
$terminal     = Configuration::get('REDSYS_TERMINAL');      // example key

El hook actionRedsysConfigSave se dispara cada vez que se guarda la configuración, de modo que un módulo complementario puede reaccionar a cambios de credenciales o de terminal.

Extender el módulo

Como no hay API remota, la personalización se realiza mediante los hooks que despacha el módulo. El módulo dispara 18 hooks a lo largo del ciclo de vida del pago, tokens, gestión de IPN, express checkout, Paygold y capacidades de pago — por ejemplo actionRedsysBeforePayment, actionRedsysPaymentSuccess, actionRedsysPaymentError, actionRedsysModifyParameters (encadenable) y actionRedsysTokenCreated.

Consulta la lista completa con parámetros, valores de retorno y ejemplos de código en la referencia de hooks de Redsys para PrestaShop.

Consigue acceso completo a la API

La REST API se incluye con Redsys para PrestaShop Premium.