Commerce Core

Drupal Commerce es la solución de comercio electrónico flexible líder para Drupal, impulsando más de 60,000 tiendas en línea de todos los tamaños.

commerce
38,368 sites
395
drupal.org

Install

Drupal 11, 10 v3.2.0
composer require 'drupal/commerce:^3.2'

Overview

Drupal Commerce es un framework de comercio electrónico completo y de nivel empresarial construido sobre Drupal. Proporciona una solución integral para construir tiendas en línea con soporte para productos, pedidos, carritos de compras, flujos de pago, pagos, promociones, impuestos y configuraciones multi-tienda.

La arquitectura modular permite a los constructores de sitios habilitar solo los componentes que necesitan, mientras que los desarrolladores pueden extender la funcionalidad a través de un robusto sistema de plugins que cubre pasarelas de pago, paneles de checkout, ofertas promocionales, tipos de impuestos y más. El sistema utiliza ampliamente una arquitectura orientada a eventos, permitiendo que los módulos reaccionen a eventos de comercio a lo largo del recorrido del cliente.

Las características arquitectónicas clave incluyen: modelo de datos basado en Entity (Product, Order, Store, Payment), integración de máquina de estados para gestión de flujos de trabajo, tipo de Field de precio con soporte multi-moneda, extensibilidad basada en plugins e interfaz de administración completa con métricas de panel y registro de actividad.

Features

  • Gestión completa de catálogo de productos con tipos de productos configurables, variaciones y atributos para manejar cualquier estructura de producto desde artículos simples hasta productos configurables complejos
  • Sistema de carrito de compras con gestión de sesiones para usuarios anónimos, combinación de artículos, actualizaciones de cantidad y expiración de carrito para carritos abandonados
  • Flujos de checkout multi-paso configurables con paneles personalizables para inicio de sesión, información de facturación, revisión de pedido, pago y mensajes de finalización
  • Arquitectura extensible de pasarelas de pago que soporta métodos de pago en sitio (entrada directa de tarjeta), fuera de sitio (redirección) y manuales con soporte para métodos de pago almacenados
  • Sistema de promociones y cupones con tipos de oferta flexibles (monto fijo, porcentaje, Compra X Obtén Y), segmentación basada en condiciones, límites de uso y activación basada en fechas
  • Framework de cálculo de impuestos con soporte integrado para IVA de la UE, IVA del Reino Unido, GST/HST canadiense y zonas fiscales personalizadas con cambios de tasas basados en tiempo
  • Soporte multi-tienda con monedas específicas por tienda, zonas horarias, registros fiscales y configuraciones de país de facturación
  • Sistema de registro de actividad que rastrea todos los eventos de comercio incluyendo cambios en el carrito, transiciones de estado de pedidos y actividades de pago
  • Generación de patrones de números secuenciales para números de pedido con estrategias de reinicio configurables (infinito, anual, mensual)
  • Panel de administración con métricas, notificaciones de bandeja de entrada y acceso rápido a funciones de gestión de comercio
  • Tipo de Field de precio con aritmética de precisión arbitraria, soporte multi-moneda y formato adaptado a la configuración regional
  • Sistema de eventos completo que permite a los módulos engancharse a eventos del ciclo de vida de productos, pedidos, carrito, checkout, pagos y promociones

Use Cases

Tienda en Línea Simple

Crea una tienda en línea básica que venda productos físicos. Habilita los módulos Commerce Store, Product, Order, Cart, Checkout y Payment. Crea una tienda con los detalles de tu negocio, añade productos con variaciones (tallas, colores), configura un flujo de checkout con información de facturación y configura una pasarela de pago como PayPal o Stripe.

Marketplace Multi-vendedor

Construye un marketplace con múltiples vendedores utilizando la arquitectura multi-tienda. Cada vendedor obtiene su propia entidad de tienda con monedas separadas, registros fiscales y configuraciones de pago. Los productos se asocian con tiendas específicas, y las secuencias de patrones de número por tienda aseguran números de pedido únicos por vendedor.

Comercio por Suscripción

Implementa pagos recurrentes extendiendo Commerce con el módulo Commerce Recurring. Usa métodos de pago almacenados para cobrar a los clientes automáticamente y crea tipos de productos de suscripción con períodos de facturación recurrente.

Comercio B2B con Exenciones Fiscales

Configura el IVA de la UE para ventas entre empresas. Los clientes con números de IVA válidos reciben transacciones con tasa cero para suministros intracomunitarios. Usa el campo de número fiscal en los perfiles de cliente y la validación automática de número de IVA del tipo de impuesto EU VAT.

Campañas Promocionales

Crea campañas promocionales complejas usando el sistema de promociones. Configura descuentos porcentuales, ofertas de cantidad fija o promociones de Compra X Obtén Y. Apunta a productos específicos usando condiciones, genera códigos de cupón masivos, establece límites de uso por cliente y programa promociones con fechas de inicio/fin.

Tienda de Descargas Digitales

Vende productos digitales creando un tipo de producto sin requisitos de envío físico. Usa el módulo Commerce File para la entrega segura de descargas después de la compra y configura la finalización instantánea del checkout para acceso inmediato.

Tips

  • Usa el Commerce Dashboard en /admin/commerce para acceso rápido a pedidos, productos y configuración
  • Los banners de socios pueden deshabilitarse añadiendo $settings['commerce_show_partner_banners'] = FALSE; a settings.php
  • Las variaciones de producto soportan generación automática de títulos a partir de valores de atributos - habilita esto en la configuración del tipo de variación
  • El sistema de promociones soporta reglas de compatibilidad - establece las promociones como 'Cannot be combined' para evitar la acumulación
  • Usa el registro de actividad en /admin/commerce/orders/{order}/logs para auditar todos los cambios en un pedido
  • La expiración del carrito puede configurarse por tipo de pedido para limpiar automáticamente los carritos abandonados
  • La cadena de resolución de precios permite lógica de precios personalizada - añade resolvers personalizados con mayor prioridad para sobrescribir los precios predeterminados
  • Los flujos de checkout pueden personalizarse por tipo de pedido usando configuraciones de terceros en la entidad de tipo de pedido

Technical Details

Admin Pages 17
Commerce /admin/commerce

Panel principal de administración de Commerce que proporciona acceso rápido a toda la funcionalidad de Commerce, resumen de métricas y notificaciones del buzón de Drupal Commerce.

Configuración /admin/commerce/config

Página de resumen de todas las opciones de configuración de Commerce organizadas por categoría.

Tiendas /admin/commerce/config/stores

Administre sus entidades de tienda. Cada tienda tiene su propio nombre, correo electrónico, moneda predeterminada, zona horaria, dirección y configuración de países de facturación.

Tipos de tienda /admin/commerce/config/store-types

Administre los bundles de tipos de tienda y sus configuraciones de campos.

Monedas /admin/commerce/config/currencies

Administre las monedas disponibles en su tienda. Importe desde la biblioteca commerceguys/intl o cree monedas personalizadas.

Productos /admin/commerce/products

Administre su catálogo de productos. Cree, edite, duplique y elimine productos con sus variaciones.

Tipos de producto /admin/commerce/config/product-types

Administre los bundles de tipos de producto incluyendo la asociación de tipos de variación, configuración de variaciones múltiples e inyección de campos de variación.

Tipos de variación de producto /admin/commerce/config/product-variation-types

Administre los bundles de tipos de variación de producto incluyendo la asociación del tipo de artículo de pedido y la configuración de generación de títulos.

Atributos de producto /admin/commerce/product-attributes

Administre los atributos de producto (como Color, Tamaño) y sus valores. Los atributos se utilizan para crear variaciones de producto.

Pedidos /admin/commerce/orders

Vea y administre los pedidos de clientes incluyendo el estado del pedido, pagos y cumplimiento.

Tipos de pedido /admin/commerce/config/order-types

Administre los bundles de tipos de pedido incluyendo la selección de flujo de trabajo, configuración de actualización y configuración de correo electrónico de recibo.

Tipos de artículo de pedido /admin/commerce/config/order-item-types

Administre los bundles de tipos de artículo de pedido y su asociación con el tipo de entidad comprable.

Flujos de pago /admin/commerce/config/checkout-flows

Administre las configuraciones de flujo de pago con pasos y paneles personalizables para la experiencia de pago del cliente.

Pasarelas de pago /admin/commerce/config/payment-gateways

Configure las pasarelas de pago para procesar los pagos de los clientes incluyendo pasarelas en el sitio, fuera del sitio y manuales.

Promociones /admin/commerce/promotions

Administre promociones y descuentos con ofertas, condiciones, cupones y límites de uso configurables.

Tipos de impuesto /admin/commerce/config/tax-types

Configure los tipos de impuesto para el cálculo automático de impuestos incluyendo IVA de la UE, IVA del Reino Unido, impuesto sobre ventas de Canadá y zonas fiscales personalizadas.

Patrones de número /admin/commerce/config/number-patterns

Configure patrones de números secuenciales para generar números de pedido y secuencias similares.

Permissions 19
Usar las páginas de administración de commerce

Otorga acceso al área principal de administración de Commerce y al panel de control

Administrar tiendas

Crear, editar y eliminar entidades de tienda

Administrar tipos de tienda

Mantener los tipos de tienda y sus campos asociados

Administrar monedas

Crear, editar y eliminar configuraciones de moneda

Administrar productos

Crear, editar y eliminar productos

Administrar tipos de producto

Mantener los tipos de producto y sus campos asociados

Traducir atributo de producto

Traducir cualquier valor de atributo de producto

Administrar pedidos

Ver, crear, editar y eliminar pedidos

Administrar tipos de pedido

Mantener los tipos de pedido y sus campos asociados

Reasignar pedidos

Reasignar pedidos de un cliente a otro

Desbloquear pedidos

Desbloquear pedidos que han sido bloqueados

Acceder al proceso de pago

Completar una compra a través del formulario de pago

Administrar flujos de pago

Crear, editar y eliminar configuraciones de flujo de pago

Administrar pasarelas de pago

Crear, editar y eliminar configuraciones de pasarela de pago

Administrar pagos

Ver y gestionar pagos en pedidos

Administrar promociones

Crear, editar y eliminar promociones

Generar cupones en masa

Generar múltiples cupones a la vez para promociones

Administrar tipos de impuesto

Crear, editar y eliminar configuraciones de tipo de impuesto

Administrar patrones de número

Crear, editar y eliminar configuraciones de patrón de número

Hooks 2
hook_commerce_inline_form_alter

Realizar modificaciones antes de que se renderice un formulario en línea de Commerce

hook_commerce_inline_form_PLUGIN_ID_alter

Realizar modificaciones específicas del plugin en formularios en línea

Troubleshooting 6
Los artículos del carrito desaparecen para usuarios anónimos

Asegúrate de que las sesiones PHP estén funcionando correctamente. Commerce almacena los IDs de carrito anónimos en la sesión. Verifica la configuración de la sesión y asegúrate de que la cookie de sesión se esté estableciendo correctamente.

Los precios muestran decimales incorrectos

Verifica la configuración de moneda en /admin/commerce/config/currencies. Cada moneda tiene una configuración de 'Fraction digits' que controla la precisión decimal.

Las promociones no se aplican a los pedidos

Verifica que la promoción esté habilitada, dentro del rango de fechas, tenga uso disponible y las condiciones coincidan con el pedido. Revisa las restricciones de tienda y tipo de pedido en la promoción.

El impuesto no se calcula

Asegúrate de que un tipo de impuesto esté configurado en /admin/commerce/config/tax-types y sus condiciones coincidan con tus pedidos. Para EU VAT, verifica que la tienda tenga registros fiscales establecidos para los países aplicables.

El flujo de checkout no muestra el paso de pago

El paso de pago se oculta cuando el saldo del pedido es cero. Verifica que los productos tengan precios y que las promociones no estén haciendo el pedido gratuito.

Los números de pedido no se generan

Asegúrate de que un patrón de número esté configurado y asignado al tipo de pedido en /admin/commerce/config/order-types. Verifica que el tipo de entidad objetivo del patrón de número esté establecido en 'commerce_order'.

Security Notes 5
  • Las credenciales de la pasarela de pago se almacenan en la configuración - usa variables de entorno o el módulo key para producción
  • Los IDs de sesión del carrito se almacenan en sesiones PHP - asegúrate de que la seguridad de la sesión esté configurada correctamente
  • Los permisos de administrador deben otorgarse con cuidado - 'administer commerce_order' permite ver todos los datos de clientes
  • El almacenamiento de métodos de pago incluye datos sensibles de tarjeta (últimos 4 dígitos, expiración) - asegura la seguridad de la base de datos
  • Los códigos de cupón no distinguen mayúsculas y minúsculas y se almacenan en la base de datos - usa longitud y complejidad suficientes para códigos generados masivamente