Como implementar una tienda online con Drupal Commerce: catalogo, carrito y pasarela de pago integrados
El comercio electronico en Espana alcanzo un volumen de negocio de 72.000 millones de euros en 2025, segun datos de la CNMC. Sin embargo, muchas empresas siguen dependiendo de plataformas cerradas que limitan la personalizacion, encarecen el escalado y generan dependencia tecnologica. Drupal Commerce aparece como una alternativa robusta, modular y de codigo abierto que permite construir tiendas online a medida sin sacrificar rendimiento ni seguridad.
En este articulo explicamos paso a paso como implementar una tienda online completa con Drupal Commerce, cubriendo las tres piezas clave: catalogo de productos, carrito de compra y pasarela de pago. Esta guia esta dirigida a responsables tecnicos, CTOs y directores de proyectos digitales que necesitan evaluar o ejecutar un proyecto de ecommerce sobre Drupal.
Por que elegir Drupal Commerce frente a otras plataformas
Antes de entrar en la implementacion, conviene entender que diferencia a Drupal Commerce de soluciones como WooCommerce, Shopify o Magento.
Arquitectura modular y desacoplada
Drupal Commerce no es un plugin anadido a un CMS: es un framework de comercio electronico nativo dentro de Drupal. Esto significa que cada componente (productos, pedidos, pagos, envios, impuestos) existe como un modulo independiente que puede activarse, desactivarse o sustituirse sin afectar al resto del sistema.
Ventajas concretas para proyectos empresariales
- Flexibilidad total en el modelo de datos: a diferencia de plataformas cerradas, Drupal Commerce permite definir tipos de producto con campos personalizados ilimitados, variaciones complejas y relaciones entre entidades.
- Sin costes de licencia: como proyecto de codigo abierto, no hay cuotas mensuales ni comisiones por transaccion impuestas por la plataforma.
- Escalabilidad probada: sitios como Lush, Eurostar y Thunder han gestionado catalogos de miles de productos y picos de trafico superiores a 100.000 sesiones concurrentes sobre Drupal Commerce.
- Ecosistema de mas de 100 modulos contrib especificos para comercio, desde integraciones con transportistas hasta sistemas de fidelizacion.
Requisitos previos y arquitectura del proyecto
Stack tecnologico recomendado
Para un proyecto de ecommerce con Drupal Commerce en produccion, recomendamos el siguiente entorno:
- PHP 8.2 o superior (con opcache habilitado)
- Drupal 10.3 o Drupal 11 como base del CMS
- Drupal Commerce 3.x (ultima version estable)
- Base de datos: MariaDB 10.6+ o PostgreSQL 15+
- Servidor web: Nginx con configuracion optimizada para Drupal
- Cache: Redis o Memcached para sesiones y cache de objetos
- CDN: Cloudflare o similar para activos estaticos
Instalacion base con Composer
El punto de partida es crear el proyecto con Composer, la herramienta estandar de gestion de dependencias en PHP:
composer create-project drupalcommerce/project-base mi-tienda
cd mi-tienda
composer require drupal/commerce
Este comando descarga Drupal core, Commerce y todas sus dependencias. A continuacion, se ejecuta la instalacion estandar de Drupal y se habilitan los modulos de Commerce necesarios:
commerce_product(productos y variaciones)commerce_cart(carrito de compra)commerce_checkout(flujo de checkout)commerce_payment(pasarelas de pago)commerce_tax(gestion de impuestos)commerce_order(pedidos)
Paso 1: Configuracion del catalogo de productos
El catalogo es la columna vertebral de cualquier tienda online. En Drupal Commerce, los productos se modelan mediante dos entidades: el producto (informacion general) y la variacion (combinacion especifica con precio y stock).
Definir tipos de producto
Un tipo de producto representa una categoria estructural. Por ejemplo, una tienda de moda podria tener:
- Camisetas: con variaciones de talla (S, M, L, XL) y color
- Accesorios: sin variaciones, precio unico
- Packs: productos compuestos con descuento
Para cada tipo se definen campos personalizados: imagenes, descripcion larga, ficha tecnica, peso, dimensiones, materiales, etc. Drupal permite anadir cualquier tipo de campo (texto, referencia a taxonomia, archivo, enlace) directamente desde la interfaz de administracion.
Gestionar variaciones y atributos
Los atributos de producto (talla, color, capacidad) se configuran como taxonomias o listas de valores. Cada combinacion de atributos genera una variacion con su propio SKU, precio y nivel de stock.
Un ejemplo practico: una camiseta con 4 tallas y 3 colores genera 12 variaciones. Cada variacion puede tener un precio diferente, una imagen especifica y un inventario independiente.
Organizacion con taxonomias y facetas
Para catalogos grandes (mas de 500 productos), es imprescindible implementar navegacion por facetas. El modulo facets junto con search_api y un backend como Solr permite:
- Filtrado por multiples atributos simultaneos
- Contadores de resultados en tiempo real
- URLs amigables para SEO en cada combinacion de filtros
- Tiempos de respuesta inferiores a 200 ms incluso con catalogos de 10.000+ referencias
SEO del catalogo
Drupal Commerce integra nativamente herramientas de SEO a traves de modulos como pathauto, metatag y schema_metatag. Esto permite:
- Generar URLs limpias automaticamente (ejemplo:
/tienda/camisetas/modelo-basico-algodon) - Definir meta titles y descriptions por tipo de producto o por producto individual
- Insertar datos estructurados Schema.org de tipo
Productcon precio, disponibilidad y valoraciones
Segun un estudio de Backlinko, las paginas con datos estructurados de producto obtienen un CTR un 30% superior en resultados de busqueda.
Paso 2: Implementacion del carrito de compra
Funcionamiento del carrito en Drupal Commerce
El carrito en Drupal Commerce es en realidad un pedido en estado "borrador". Esto ofrece una ventaja arquitectonica importante: toda la logica de precios, descuentos, impuestos y promociones se aplica en tiempo real sobre la entidad de pedido, no sobre un objeto temporal en sesion.
Personalizacion del bloque de carrito
El bloque de carrito se puede ubicar en cualquier region del tema y personalizarse mediante plantillas Twig. Las opciones mas habituales incluyen:
- Carrito lateral deslizante (offcanvas): se abre sin recargar la pagina, mostrando un resumen de productos anadidos
- Carrito en pagina completa: con opciones de edicion de cantidades, eliminacion de items y aplicacion de cupones
- Mini-carrito en cabecera: icono con contador y desplegable rapido
Carrito con AJAX y rendimiento
El modulo commerce_cart soporta operaciones AJAX de forma nativa: anadir productos, actualizar cantidades y eliminar items sin recarga de pagina. Para tiendas con alto trafico, se recomienda:
- Cachear el bloque de carrito con contexto por sesion
- Utilizar lazy loading para el contador del mini-carrito
- Implementar BigPipe (incluido en Drupal core) para renderizado progresivo
Flujo de checkout
El proceso de checkout en Drupal Commerce es completamente configurable mediante un sistema de paneles y pasos. Un flujo tipico incluye:
- Informacion de contacto: email del comprador (o login si ya es usuario registrado)
- Direccion de envio: con autocompletado mediante integracion con Google Places API
- Metodo de envio: calculo en tiempo real segun peso, destino y transportista
- Direccion de facturacion: con opcion de reutilizar la de envio
- Resumen del pedido: revision final antes del pago
- Pago: seleccion de pasarela e introduccion de datos
- Confirmacion: pagina de agradecimiento y envio de email transaccional
Cada paso puede reordenarse, eliminarse o ampliarse con campos adicionales segun las necesidades del negocio.
Paso 3: Integracion de pasarelas de pago
Pasarelas disponibles para el mercado espanol
Drupal Commerce ofrece modulos de integracion con las principales pasarelas utilizadas en Espana:
- Redsys / TPV Virtual: la pasarela mas utilizada por bancos espanoles (CaixaBank, BBVA, Santander). El modulo
commerce_redsyssoporta pago con tarjeta, Bizum y pagos recurrentes. - Stripe: procesador internacional con soporte para tarjetas, Apple Pay, Google Pay y SEPA. El modulo
commerce_stripeutiliza Stripe Elements para cumplir con PCI DSS sin que los datos de tarjeta pasen por el servidor. - PayPal: a traves del modulo
commerce_paypal, compatible con PayPal Checkout, Pay Later y Venmo. - Adyen: solucion enterprise con cobertura de mas de 250 metodos de pago globales.
Cumplimiento normativo: PCI DSS y PSD2
Cualquier tienda online que procese pagos con tarjeta debe cumplir con PCI DSS. Drupal Commerce facilita el cumplimiento al delegar el procesamiento de datos sensibles a la pasarela mediante iframes o redireccion. En la practica:
- Con Stripe Elements o Redsys con redireccion, el servidor de la tienda nunca recibe ni almacena datos de tarjeta, lo que reduce el alcance de PCI DSS al nivel SAQ-A (el mas sencillo).
- La directiva PSD2 obliga a implementar autenticacion reforzada (SCA) en pagos europeos. Las pasarelas compatibles con 3D Secure 2.0 gestionan este requisito de forma transparente.
Configuracion practica de Redsys
Para integrar Redsys, el flujo es el siguiente:
- Solicitar credenciales de prueba al banco (numero de comercio, clave secreta, terminal)
- Instalar el modulo:
composer require drupal/commerce_redsys - Configurar la pasarela en Administracion > Comercio > Pagos > Pasarelas
- Introducir credenciales y seleccionar el entorno (pruebas o produccion)
- Realizar transacciones de prueba con tarjetas ficticias proporcionadas por Redsys
- Solicitar paso a produccion al banco tras validar las pruebas
Gestion de pagos y reembolsos
Drupal Commerce registra cada transaccion como una entidad de pago asociada al pedido. Desde el panel de administracion, el equipo de atencion al cliente puede:
- Consultar el estado de cada pago (autorizado, capturado, reembolsado, fallido)
- Ejecutar reembolsos totales o parciales directamente desde el backoffice
- Recibir notificaciones automaticas de cambios de estado via webhooks
Optimizacion del rendimiento para ecommerce
Una tienda online con tiempos de carga superiores a 3 segundos pierde el 53% de los visitantes moviles, segun datos de Google. Para garantizar un rendimiento optimo en Drupal Commerce:
- Varnish como reverse proxy: cachea paginas del catalogo para servir respuestas en menos de 50 ms
- Redis para sesiones y carrito: evita cuellos de botella en la base de datos
- Optimizacion de imagenes: modulos como
responsive_imagey formatos WebP/AVIF reducen el peso de las paginas de producto un 60% - Lazy loading de variaciones: cargar precios y disponibilidad de variaciones via AJAX solo cuando el usuario selecciona atributos
Seguridad en tiendas Drupal Commerce
La seguridad es critica en cualquier plataforma de comercio electronico. Drupal destaca por su equipo de seguridad dedicado que publica parches de forma regular. Ademas, se recomienda:
- Forzar HTTPS en todo el sitio con HSTS habilitado
- Implementar Content Security Policy (CSP) para prevenir XSS
- Activar autenticacion de dos factores para administradores
- Configurar backups automaticos cifrados con periodicidad diaria
- Realizar auditorias de seguridad trimestrales
Casos de uso y metricas de referencia
Empresas espanolas de diversos sectores han implementado Drupal Commerce con resultados medibles:
- Una cadena de alimentacion ecologica con 2.000 referencias logro reducir su coste de plataforma un 40% respecto a Magento, manteniendo tiempos de carga medios de 1,2 segundos.
- Un fabricante industrial B2B implemento un catalogo con precios personalizados por cliente y roles de compra jerarquicos, procesando mas de 500 pedidos diarios.
- Una editorial digital gestiona suscripciones recurrentes y acceso a contenido premium combinando Commerce con el sistema de permisos de Drupal.
Conclusiones y siguiente paso
Drupal Commerce ofrece una base solida, modular y escalable para construir tiendas online que van mas alla de las limitaciones de las plataformas cerradas. Su arquitectura permite controlar cada aspecto del catalogo, el carrito y el proceso de pago, mientras que su ecosistema de modulos contrib acelera la integracion con pasarelas, transportistas y herramientas de marketing.
La clave del exito reside en una planificacion arquitectonica adecuada, la seleccion correcta de modulos y una implementacion que priorice rendimiento y seguridad desde el primer dia.
Si necesitas asesoramiento experto para disenar, desarrollar o migrar tu tienda online a Drupal Commerce, contacta con nuestro equipo de consultoria especializada. Analizamos tu caso, definimos la arquitectura optima y acompanamos la implementacion de principio a fin.